呼叫者許可權過程對OWNER物件的依賴
今天在看定義者、呼叫者許可權部分想到的這個問題。
對於呼叫者許可權儲存過程,不同的使用者訪問是本使用者下的表,但是如果儲存過程的OWNER使用者下儲存過程所依賴的表被刪除,其他使用者下還能否正常執行這個過程。
做了個簡單的測試:
SQL> CONN YANGTK/YANGTK
已連線。
SQL> CREATE TABLE T (ID NUMBER);
表已建立。
SQL> CREATE OR REPLACE PROCEDURE P_TEST
2 AUTHID CURRENT_USER
3 AS
4 BEGIN
5 INSERT INTO T VALUES (1);
6 END;
7 /
過程已建立。
SQL> GRANT EXECUTE ON P_TEST TO TEST;
授權成功。
SQL> CONN TEST/TEST
已連線。
SQL> CREATE TABLE T (ID NUMBER);
表已建立。
SQL> EXEC YANGTK.P_TEST
PL/SQL 過程已成功完成。
SQL> SELECT * FROM T;
ID
----------
1
SQL> CONN YANGTK/YANGTK
已連線。
SQL> DROP TABLE T PURGE;
表已刪除。
SQL> SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
2 FROM USER_OBJECTS
3 WHERE OBJECT_NAME = 'P_TEST';
OBJECT_NAME OBJECT_TYPE STATUS
------------------------------ ------------------- -------
P_TEST PROCEDURE INVALID
SQL> CONN TEST/TEST
已連線。
SQL> EXEC YANGTK.P_TEST
BEGIN YANGTK.P_TEST; END;
*
第 1 行出現錯誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 物件 YANGTK.P_TEST 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
雖然TEST使用者執行YANGTK使用者下的P_TEST過程,插入的是自己使用者中的T表,但是如果儲存過程的OWNER使用者刪除了過程依賴的表,即使其他使用者下儲存過程仍然可以執行,Oracle也會將儲存過程置於INVALID狀態,而且其他使用者執行並不會導致儲存過程成功編譯,也就是說呼叫者儲存過程依賴OWNER下的物件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-674736/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 呼叫者許可權與定義者許可權的pl/sql子程式SQL
- MySQL儲存過程的許可權問題MySql儲存過程
- Ubuntu16.04不用管理員許可權安裝caffe依賴(上)Ubuntu
- autohotkey透過com物件控制excel的許可權問題物件Excel
- oracle儲存過程許可權繼承小結Oracle儲存過程繼承
- 01【若依框架】 登入許可權框架
- 如何在儲存過程中擁有role的許可權儲存過程
- Spring security(五)-完美許可權管理系統(授權過程分析)Spring
- Jackson JSON包在從物件對映到Json字串過程的迴圈依賴問題-分析與解決JSON物件字串
- postgresql只有owner或usersuper許可權才能修改表結構或drop表SQL
- 檢視、儲存過程以及許可權控制練習儲存過程
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- 1.6.2. 許可權對應的操作
- ERC223智慧合約ATN幣出現owner許可權竊取漏洞
- SAP PLM文件許可權物件的控制級別物件
- 許可權之選單許可權
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- windows server許可權對tomcat的影響WindowsServerTomcat
- all許可權使用者無法執行儲存過程儲存過程
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- 安裝gcc過程中遇到相互依賴的問題GC
- 一對一原始碼,前端頁面許可權和按鈕許可權控制原始碼前端
- Linux的檔案存取許可權和0644許可權Linux
- 許可權系統:一文搞懂功能許可權、資料許可權
- linux許可權字串rwxr-xrw-所對應的八進位制許可權數字Linux字串
- 【自然框架】許可權的視訊演示(二):許可權到欄位、許可權到記錄框架
- Java安全之Filter許可權繞過JavaFilter
- Confluence6對比系統管理員許可權和Confluence管理員許可權
- 使用RFC跳過許可權校驗的方法
- 阿里雲RDS的高許可權不是真正的高許可權阿里
- PHP 物件導向 (一)許可權修飾符PHP物件
- spring迴圈依賴解決過程&Bean的生命週期SpringBean
- java BigInteger 對許可權進行2的權的和計算Java
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件
- Linux特殊許可權之suid、sgid、sbit許可權LinuxUI
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- EXECUTE IMMEDIATE 儲存過程中 許可權不足及EXECUTE IMMEDIATE的除錯避坑儲存過程除錯
- 7.4 透過API列舉程式許可權API
- Linux的許可權控制Linux