Page History
[ |../../index.htm#lansa/check_authority.htm]
現在地:
...
9.14 CHECK_AUTHORITY
| Note |
|---|
注意 |
...
:9.1 |
...
ユーザーがオブジェクトに対する特定の権限を持っているかどうかを検査します。
ユーザーがオブジェクトに対する特定の権限を持っているかどうかを検査します。
引数
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | オブジェクト名 | 1 | 10 |
2 | A | 必須 | オブジェクト名 拡張子の値: - ブランク | 1 | 10 |
3 | A | 必須 | オブジェクト・タイプ |
値: |
フィールド |
ファンクション |
プロセス |
ファイル |
システム変数 |
多言語文字列 * |
注:オブジェクト・タイプP#とATは、Visual LANSAの文脈上は何の意味もありません。 | 2 | 2 |
4 | A | 必須 | オブジェクトに必要な権限: |
値: |
UD - |
定義を使用する |
定義を変更する デー タ |
表示する |
追加する |
変更する | 2 | 2 |
...
戻り値
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 与えられる権限 | 1 | 1 |
...
このファンクションを使用して、ユーザーがファイルのレコードを更新できるか、またはフィールド定義を使用できるかを判定することができます。
DEFINE FIELD(#OBJEXT)
...
TYPE(*CHAR)
...
LENGTH(10)
...
DEFAULT('''*LIBL''')
...
* < OR >
DEFINE FIELD(#OBJEXT)
...
TYPE(*CHAR)
...
LENGTH(10)
...
DEFAULT(*BLANKS)
...
USE BUILTIN(CHECK_AUTHORITY)
...
WITH_
...
ARGS (#FILENAME #OBJEXT FD CH) TO_GET(#OKAY)
...
IF COND('
...
#OKAY *EQ Y')
UPDATE FILE(#FILENAME)
...
ELSE
MESSAGE MSGTXT('Not authorized to update file')
ENDIF
DEFINE FIELD(#OBJEXT) TYPE(*CHAR)
...
LENGTH(10)
...
DEFAULT(*BLANKS)
...
USE BUILTIN(CHECK_AUTHORITY)
...
WITH_ARGS #FLDNAME #OBJEXT DF UD) TO_GET(#OKAY)
...
IF COND('
...
#OKAY *EQ Y')
USE BUILTIN(GET_FIELD)
...
WITH_ARGS(#FIELDNAME)
...
TO_GET(
...
#RETC #TYPE #LEN....)
ENDIF
...
値*CHECK_AUTH_DYNLIBLがデータ領域DC@OSVEROPに指定されていない場合、ファイルに対する権限(FD)を検査する際にライブラリまたは*LIBLが指定されていないときは、LANSAに入力された時点では存在したファイルが現在はライブラリ・リストにあることが想定されます。ライブラリ・リストをダイナミックに変更することはできません。LANSAセッションの間にライブラリ・リストが変更された場合は、新しいライブラリ・リストを認識させるためにLANSAを一度終了してから再起動する必要があります。 LIBLが指定されていないときは、LANSAに入力された時点では存在したファイルが現在はライブラリ・リストにあることが想定されます。ライブラリ・リストをダイナミックに変更することはできません。LANSAセッションの間にライブラリ・リストが変更された場合は、新しいライブラリ・リストを認識させるためにLANSAを一度終了してから再起動する必要があります。
| Tip |
|---|
...
ヒント: 値*CHECK_AUTH_DYNLIBLがデータ領域DC@OSVEROPに指定されている場合は、ファイルに対する権限(FD)を検査する際にライブラリまたはLIBLが指定されていないときは、そのつどライブラリ・リストが取得されて、CHECK_ |
...
AUTHORITYで実際に使用するライブラリがダイナミックに決定されます。この設定を使用すると、パフォーマンスに影響が生じる場合があります。 ファイルに対する権限を検査する場合は、オブジェクト拡張子の値にシステム変数*PARTDTALIBを使用します。 |
...
| Note |
|---|
注意:FUNCTION 権限(タイプPF)を検査する場合は、引数としてPROCESSとFUNCTIONの両方を指定する必要があります。つまり、オブジェクト名は PROCESSで、オブジェクト拡張子はFUNCTIONになります。 |
...
USE BUILTIN(CHECK_AUTHORITY)
...
WITH_ARGS (#PROCESS CONTROL PF UD ) TO_GET(#OKAY)
...
IF COND('
...
#OKAY *EQ Y')
CALL PROCESS(#PROCESS)
...
FUNCTION(CONTROL)
...
ELSE
MESSAGE MSGTXT('Not authorized to function CONTROL')
ENDIF