2011-12-15 3 views
0

私は、セキュリティ保護されたアプリケーション・ロールを使用してユーザーへのアクセスを許可しています。その非常識な形式では、それはそれのようになります。それがあるべきようセキュア・アプリケーション・ロールとSQL * Loader

create or replace package body main_user.PACK_SAR is 
procedure grant_role is 
begin 
    dbms_session.set_role('TEST_ROLE'); 
end; 
end PACK_SAR; 

パッケージは、authid current_userです。 役割とユーザーは、以下のように構成されています

create role test_role identified using pack_sar; 
grant select on task to test_role; 

create user test_user identified by a; 
grant create session to test_user; 
grant execute on pack_sar to test_user; 

は、その後、私は私のtest_user、プロシージャを呼び出すと、すべてがうまくあるでログイン:

execute main_user.pack_sar.grant_role; 
select * from main_user.task; 
[... data from the task table ...] 

しかし、今私は私のテストユーザーを使用したいですSQL * Loaderの、ので、私はafter logonトリガーでプロシージャ・コールをするつもりです考えた:

create or replace trigger test_user.after_logon 
after logon on test_user.schema 
begin 
    main_user.pack_sar.grant_role; 
end; 

しかし、これはいずれかの操作を実行していないようです物事、私はログイン後の役割を取得しない...これのような何かをする方法はありますか?または、SQL * Loader内のセキュアなアプリケーション・ロールを使用できませんか?

ありがとうございました。

答えて

関連する問題