ZAUTHORIZE とユーザ・プロパティ
Properties 配列の要素は、Username パラメータで指定されたユーザに関連付けられた属性の値を指定します。通常、ZAUTHORIZE 内のコードにより、この要素の値が設定されます。Properties 配列の要素は以下のとおりです。
-
Properties("Comment") — 任意のテキスト。
-
Properties("FullName") — ユーザの名前と姓。
-
Properties("NameSpace") — ターミナル・ログインの既定のネームスペース。
-
Properties("Roles") — ユーザが InterSystems IRIS で保持するコンマ区切りのロール・リスト。
-
Properties("Routine") — ターミナル・ログインに対して実行されるルーチン。"" の値は、ターミナルがプログラマ・モードで実行されることを示します。
-
Properties("Password") — ユーザのパスワード。
-
Properties("Username") — ユーザのユーザ名。
各要素については、この後のセクションでそれぞれ詳しく説明します。
Note:
承認後に Properties 配列のメンバの値を操作することはできません。
FullName
ZAUTHORIZE が Properties("FullName") の値を返すと、その文字列が InterSystems IRIS におけるユーザ・アカウントの Full name プロパティの値になります (このプロパティは、"ユーザ・アカウントのプロパティ" で説明しています)。呼び出し元のルーチンに値が渡されない場合、ユーザ・アカウントの Full name の値は NULL 文字列になり、管理ポータルの関連フィールドにはコンテンツが表示されません。
Namespace
ZAUTHORIZE で Properties("Namespace") の値を設定すると、その文字列が InterSystems IRIS におけるユーザ・アカウントの Startup Namespace プロパティの値になります (このプロパティは、"ユーザ・アカウントのプロパティ" で説明しています)。呼び出し元のルーチンに値が渡されない場合、ユーザ・アカウントの Startup Namespace の値は NULL 文字列になり、管理ポータルの関連フィールドにはコンテンツが表示されません。
InterSystems IRIS に接続すると、Startup Namespace の値 (Properties("Namespace") の値で指定されたもの) は、ローカル・アクセス (コンソール、ターミナル、Telnet など) に認証されたユーザの最初のネームスペースを決定します。Startup Namespace に値が指定されない場合、ローカル・アクセスに認証されたユーザの最初のネームスペースは以下のように決定されます。
-
USER ネームスペースが存在する場合、これが最初のネームスペースになります。
-
USER ネームスペースが存在しない場合、最初のネームスペースは %SYS ネームスペースになります。
Note:
ユーザが最初のネームスペースに対する適切な特権を保持していない場合、アクセスは拒否されます。
Password
ZAUTHORIZE で Properties("Password") の値を設定すると、その文字列が InterSystems IRIS におけるユーザ・アカウントの Password プロパティの値になります (このプロパティは、"ユーザ・アカウントのプロパティ" で説明しています)。呼び出し元のルーチンに値が渡されない場合、ユーザ・アカウントの Password の値は NULL 文字列になり、管理ポータルの関連フィールドにはコンテンツが表示されません。
ZAUTHORIZE がパスワードを返す場合、パスワード認証が有効であれば、システムにログインできます。これは、代行認証からパスワード認証への移行を支援するために使用可能なメカニズムですが、複数の認証メカニズムを使用する点に関して通常と同じように注意が必要です。詳細は、"カスケード認証" を参照してください。
Roles
ZAUTHORIZE で Properties("Roles") の値を設定すると、その文字列によってユーザの割り当て先の Roles が指定されます。この値はコンマ区切りのロール・リストを含む文字列です。呼び出し元のルーチンに値が渡されない場合、ユーザ・アカウントに関連付けられたロールはありません。これは、管理ポータルに示されます。ユーザのロールに関する情報は、[ユーザ編集] ページの [ロール] タブおよびユーザのプロファイルで確認できます。
Properties("Roles") で返されるロールが定義されない場合、ユーザはロールに割り当てられません。
したがって、ログインしたユーザは以下のようにロールに割り当てられます。
-
ロールが Properties("Roles") に示され、InterSystems IRIS インスタンスで定義される場合、ユーザはそのロールに割り当てられます。
-
ロールが Properties("Roles") に示され、InterSystems IRIS インスタンスで定義されない場合、ユーザはそのロールに割り当てられません。
-
ユーザは、_PUBLIC ユーザに関連付けられたロールには常に割り当てられます。また、すべてのパブリック・リソースにアクセスできます。_PUBLIC ユーザの詳細は、"_PUBLIC アカウント" を参照してください。パブリック・リソースの詳細は、"サービスとそのリソース" を参照してください。
Routine
ZAUTHORIZE で Properties("Routine") の値を設定すると、その文字列が InterSystems IRIS におけるユーザ・アカウントの Startup Tag^Routine プロパティの値になります (このプロパティは、"ユーザ・アカウントのプロパティ" で説明しています)。呼び出し元のルーチンに値が渡されない場合、ユーザ・アカウントの Startup Tag^Routine の値は NULL 文字列になり、管理ポータルの関連フィールドにはコンテンツが表示されません。
Properties("Routine") に値がある場合、この値によって、ターミナル・タイプのサービス (コンソール、ターミナル、Telnet など) でログイン後に自動的に実行するルーチンが指定されます。Properties("Routine") に値がない、または値が "" の場合、ログインは、プログラマ・モードへのアクセス権の有無に従って、プログラマ・モードでターミナル・セッションを開始します。
Username
ZAUTHORIZE で Properties("Username") の値を設定すると、その文字列が InterSystems IRIS におけるユーザ・アカウントの Name プロパティの値になります (このプロパティは、"ユーザ・アカウントのプロパティ" で説明しています)。これにより、アプリケーション・プログラマは、ログイン・プロンプトでエンドユーザが入力した内容を正規化できます (正規化されたユーザ名は大文字と小文字のみ異なります)。
Properties("Username") の値を呼び出し元のルーチンに渡す明示的な呼び出しがない場合、正規化は行われず、プロンプトでエンドユーザが入力する値が、変更されずに、そのユーザ・アカウントの Name プロパティの値としてそのまま使用されます。