ここでは、
Transaction オブジェクトのモードのアクセス許可を設定する方法を説明します。これにより、オーソライズされたユーザーのみがデータを参照したり (表示モードでトランザクションを実行)、対応するモードでトランザクションを実行することでデータを挿入、更新、削除したりできるようにします。
GAM は、トランザクションを (表示モードで) 実行するための
自動アクセス許可と、次の各モードに 1 つのアクセス許可を定義します: 挿入、更新、または削除。
アクセス許可の名前は、トランザクションレベルで設定された
[ Permission Prefix ] プロパティの値から決定されます (図 1 を参照)。
実行時に、これらのアクセス許可は自動的にチェックされます。GeneXus ユーザーは、
GAM Web Backend で
アクセス許可のアクセスタイプを宣言する必要があるだけです。
実行時のプロセスには、ユーザーがトランザクションオブジェクトを実行するアクセス許可を持っているかどうかの検証があります。この場合、GAM は、ユーザーが
<prefix>_execute アクセス許可 (この prefix はトランザクション用に定義された
[ Permission Prefix ] プロパティ) を持っていることをチェックします。
<prefix>_execute アクセス許可で、ユーザーは、トランザクションのデータを表示できます (表示モード)。
ユーザーがトランザクションに対してアクションを実行する場合 (挿入、更新、または削除)、別のアクセス許可が必要になります:
- <prefix>_Insert
- <prefix>_Update
- <prefix>_Delete
実際には、他のアクセス許可を "グループ化" するアクセス許可があります (詳しくは、「
フル コントロール アクセス許可」を参照):
<prefix>.FullControl
- <prefix>_Execute
- <prefix>_Insert
- <prefix>_Update
- <prefix>_Delete
ここでは、"Product"
Transaction オブジェクトがあり、一部のユーザーはそれを実行するアクセス権限を持ちますが、データを挿入、更新、または削除する権限がないと仮定します。
次の手順に従います:
次のプロパティ値を確認します:
図 1.
手順 2
対応する
アクセス許可のアクセスタイプで上述のアクセス許可が指定されたロールを定義します。
図 2.
手順 3
ユーザーを作成したロールに関連付ける必要があります。
図 3.
この例では、WW パターンが Product トランザクションに適用されています。
以前定義したロールに関連付けられたユーザーが、WWProduct Web パネルを実行し、リストから商品を選択してデータを表示することができるようになります。
ユーザーが既存の商品を更新または削除しようとしたり、または新しい商品を挿入しようとした場合、次の図にあるように、
Not Authorized Object for Web オブジェクトが呼び出されます (トランザクションがパラメーターとして KEY および Mode を受け取っていない場合、エラービューアを使用してアクセス許可エラーが表示されます)。
図 4.
図 5.
図 6.
GAM -アクセス許可
フル コントロール アクセス許可と継承
GAM - ロール
GAM - オーソライズシナリオ