2017-05-29 11 views
1

oracle apexアプリケーションの特定のユーザーが、必要なときに他のユーザーのパスワードをリセットできる必要があります。 ボタン "Change Password" Clickイベントで、このコードを目的の機能用に記述しました。oracle apex特定のアクションを実行するpublicユーザーadmin権限

BEGIN 
APEX_UTIL.REMOVE_USER(p_user_name => :P16_USER_ID); 
APEX_UTIL.CREATE_USER(
     p_user_name=> :P16_USER_ID, 
     p_web_password=> :P16_USER_ID 
    ); 
end; 

ただし、次のメッセージが表示されます。

この操作を実行するには、ユーザーにADMIN権限が必要です。アプリケーション管理者 にお問い合わせください。

答えて

2

これは悪い考えです。しかし、必要な場合は、これを実行できるユーザーは管理者でなければなりません。これは管理セクションで設定できます。

第2に、削除と作成ではなくAPEX_UTIL.EDIT_USERを使用します。

+0

上記のAPEX_UTIL.EDIT_USERを使用しても、その管理者権限は引き続きエラーになります。 –

1

APEX_PUBLIC_USERに特別な権限を与えることは決してありません。これは、APEX_PUBLIC_USERがすべてのデータベース接続に使用されるため、セキュリティ違反が発生します。

APEXアプリケーションでこのストアドプロシージャまたはパッケージを呼び出す場合は、スキーマの所有者がそのストアドプロシージャまたはパッケージを呼び出す権限を取得する必要があります。

+0

しかし、特定の一般ユーザーが他のユーザーのパスワードを変更する必要があります。それを解決する方法は? –

関連する問題