39.13 CREATE_USERプロシージャ

このプロシージャは、Application Expressユーザー・アカウント表に新しいアカウント・レコードを作成します。このプロシージャを使用して、Application Expressアカウント認証スキームを利用するアプリケーションのユーザー・アカウントをプログラムで作成します。Application Expressアプリケーションのコンテキスト内でこのプロシージャを実行するには、現行ユーザーがApplication Expressワークスペース管理者である必要があり、アプリケーションではワークスペース・リポジトリの変更を許可する必要があります。

構文

APEX_UTIL.CREATE_USER(
    p_user_id                       IN      NUMBER      DEFAULT NULL,
    p_user_name                     IN      VARCHAR2,
    p_first_name                    IN      VARCHAR2    DEFAULT NULL,
    p_last_name                     IN      VARCHAR2    DEFAULT NULL,
    p_description                   IN      VARCHAR2    DEFAULT NULL,
    p_email_address                 IN      VARCHAR2    DEFAULT NULL,
    p_web_password                  IN      VARCHAR2,
    p_web_password_format           IN      VARCHAR2    DEFAULT 'CLEAR_TEXT',
    p_group_ids                     IN      VARCHAR2    DEFAULT NULL,
    p_developer_privs               IN      VARCHAR2    DEFAULT NULL,
    p_default_schema                IN      VARCHAR2    DEFAULT NULL,
    p_allow_access_to_schemas       IN      VARCHAR2    DEFAULT NULL,
    p_account_expiry                IN      DATE        DEFAULT TRUNC(SYSDATE),
    p_account_locked                IN      VARCHAR2    DEFAULT 'N',
    p_failed_access_attempts        IN      NUMBER      DEFAULT 0,
    p_change_password_on_first_use  IN      VARCHAR2    DEFAULT 'Y',
    p_first_password_use_occurred   IN      VARCHAR2    DEFAULT 'N',
    p_attribute_01                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_02                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_03                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_04                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_05                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_06                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_07                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_08                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_09                  IN      VARCHAR2    DEFAULT NULL,
    p_attribute_10                  IN      VARCHAR2    DEFAULT NULL,
    p_allow_app_building_yn         IN      VARCHAR2    DEFAULT NULL,
    p_allow_sql_workshop_yn         IN      VARCHAR2    DEFAULT NULL,
    p_allow_websheet_dev_yn         IN      VARCHAR2    DEFAULT NULL,
    p_allow_team_development_yn     IN      VARCHAR2    DEFAULT NULL);

パラメータ

表39-11 CREATE_USERプロシージャのパラメータ

パラメータ 説明

p_user_id

ユーザー・アカウントの数値の主キー

p_user_name

ログインに使用する英数字の名前

p_first_name

情報。

p_last_name

情報。

p_description

情報。

p_email_address

電子メール・アドレス。

p_web_password

クリア・テキストのパスワード。

p_web_password_format

p_web_passwordパラメータに渡す値がクリア・テキスト形式の場合は、CLEAR_TEXTを使用します。そうでない場合は、HEX_ENCODED_DIGEST_V2を使用します。

p_group_ids

コロンで区切られた数値のグループIDのリスト

p_developer_privs

権限のコロン区切りリスト。p_developer_privsがnullでない場合、ユーザーにはチーム開発へのアクセス権が付与されます。p_developer_privsにADMINが含まれる場合、ユーザーにはアプリケーション・ビルダーとSQLワークショップへの権限が付与されます。p_developer_privsにADMINではなくEDITが含まれる場合、ユーザーにはアプリケーション・ビルダーへの権限が付与されます。p_developer_privsにADMINではなくSQLが含まれる場合、ユーザーにはSQLワークショップへの権限が付与されます。このパラメータで使用可能な値は、次のとおりです。

null: エンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)を作成する場合。

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL - アプリケーション・ビルダーおよびSQLワークショップへのアクセス権を含む開発者権限を持つユーザーを作成する場合。

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL - アプリケーション・ビルダー、SQLワークショップおよびチーム開発へのアクセス権を含む、ワークスペース管理者および開発者の完全な権限を持つユーザーを作成する場合。

ノート: 現在このパラメータの名前は一貫しておらず、CREATE_USEREDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privsEDIT_USERではp_developer_rolesFETCH_USERではp_developer_roleが使用されます。

p_default_schema

ユーザーのワークスペースに割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ。

p_allow_access_to_schemas

ユーザーのワークスペースに割り当てられ、ユーザーによるアクセスが制限されているスキーマのコロンで区切られたリスト(すべての場合はNULLのまま)。

p_account_expiry

パスワードが最後に更新された日(作成時に、今日の日付にデフォルト設定されます)。

p_account_locked

アカウントがロックされているかどうかを示す'Y'または'N'。

p_failed_access_attempts

ログインに連続して失敗した回数。作成時に、0 (ゼロ)にデフォルト設定されます。

p_change_password_on_first_use

パスワードを初めて使用するときに変更する必要があるかどうかを示す'Y'または'N'。作成時に、'Y'にデフォルト設定されます。

p_first_password_use_occurred

パスワードの変更後にログインが行われたかどうかを'Y'または'N'で示します。作成時に、'N'にデフォルト設定されます。

p_attribute_01

...

p_attribute_10

APIを使用してアクセスできる任意のテキスト

p_allow_app_building_yn

アプリケーション・ビルダーへのアクセスが許可されるかどうかを'Y'または'N'で示します。

p_allow_sql_workshop_yn

SQLワークショップへのアクセスが許可されるかどうかを'Y'または'N'で示します。

p_allow_websheet_dev_yn

Webシート開発へのアクセスが許可されるかどうかを'Y'または'N'で示します。

p_allow_team_development_yn

チーム開発へのアクセスが許可されるかどうかを'Y'または'N'で示します。

例1

次の簡単な例では、パスワードがsecret99のNEWUSER1というエンド・ユーザーを作成します。エンド・ユーザーは、開発済アプリケーションに対してのみ認証できることに注意してください。

BEGIN
    APEX_UTIL.CREATE_USER(
        p_user_name    => 'NEWUSER1',
        p_web_password => 'secret99');
END;

例2

次の例では、NEWUSER2というワークスペース管理者を作成します。ユーザーNEWUSER2は次のように設定されています。

  • ワークスペース管理者および開発者の完全な権限を持っている(p_developer_privsパラメータが'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL'に設定されている)。

  • 参照デフォルトMY_SCHEMA(p_default_schemaパラメータが'MY_SCHEMA'に設定されている)およびMY_SCHEMA2(p_allow_access_to_schemasパラメータが'MY_SCHEMA2'に設定されている)の2つのスキーマへのアクセス権を持っている。

  • 最初のログイン時にパスワードを変更する必要がない(p_change_password_on_first_useパラメータが'N'に設定されている)。

  • 最初の追加属性に電話番号が格納されている(p_attribute_01パラメータが'123 456 7890'に設定されている)。

BEGIN
    APEX_UTIL.CREATE_USER(
        p_user_name                     => 'NEWUSER2',
        p_first_name                    => 'FRANK',
        p_last_name                     => 'SMITH',
        p_description                   => 'Description...',
        p_email_address                 => 'frank@smith.com',
        p_web_password                  => 'password',
        p_developer_privs               => 'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL',
        p_default_schema                => 'MY_SCHEMA',
        p_allow_access_to_schemas       => 'MY_SCHEMA2',
        p_change_password_on_first_use  => 'N',
        p_attribute_01                  => '123 456 7890');
END;