48.107 RESET_PASSWORDプロシージャ

このプロシージャは、現在のワークスペースでp_user_nameのパスワードをp_new_passwordに変更します。p_change_password_on_first_useがTRUEの場合、ユーザーは次のログイン時にパスワードを変更する必要があります。

構文

APEX_UTIL.RESET_PASSWORD (
    p_user_name                     IN VARCHAR2 DEFAULT
                                        www_flow_security.g_user,
    p_old_password                  IN VARCHAR2 DEFAULT NULL,
    p_new_password                  IN VARCHAR2,
    p_change_password_on_first_use  IN BOOLEAN DEFAULT TRUE );

パラメータ

表48-88 RESET_PASSWORDのパラメータ

パラメータ 説明
p_user_name パスワードを変更するユーザー。デフォルトは、現在ログインしているOracle APEXユーザーの名前です。
p_old_password ユーザーの現行のパスワードを指定します。指定された値が現在のパスワードと一致するか、またはNULLであり、コール元のPL/SQLコードの所有者にAPEX_ADMINISTRATOR_ROLEがある場合、コールは成功します。値がユーザーのパスワードでない場合、エラーが発生します。
p_new_password 新しいパスワード。
p_change_password_on_first_use TRUE (デフォルト)の場合、ユーザーは次のログイン時にパスワードを変更する必要があります。

エラーの戻り値

表48-89 RESET_PASSWORDのエラー

エラー 説明
INVALID_CREDENTIALS p_user_namep_old_passwordと一致しない場合に発生します。
APEX.AUTHENTICATION.LOGIN_THROTTLE.COUNTER ログイン・スロットルで認証が妨げられたことを示します。
internal error p_old_passwordがNULLで、コール元にAPEX_ADMINISTRATOR_ROLEがない場合に発生します。
internal error コール元が有効なワークスペース・スキーマでないことを示します。

この例では、現在ログインしているユーザーのパスワードを新しいパスワードに変更する方法を示します。

apex_util.reset_password (
    p_old_password => :P111_OLD_PASSWORD,
    p_new_password => :P111_NEW_PASSWORD );