アクセス許可には次の 2 種類があります。
自動的に生成されるアクセス許可の場合は、GeneXus で F5 キーを押すことで
アクセス許可が生成されます。実行時に、ユーザーがアクセス許可を持っているかどうか、または、アクセスが許可されているロールがユーザーに割り当てられているかどうかが確認されます。この処理は、
[ Integrated Security Level ] プロパティが Authorization に設定されているオブジェクトに対して実行されます。そのため、このプロパティの値は、実行時に確認されるアクセス許可を生成する、すべてのオブジェクトに対して設定する必要があります。
ここでは、ユーザーが作成するアクセス許可について説明します。
アクセス許可がユーザーによって作成され、プログラムで使用される場合、オブジェクトの
[ Integrated Security Level ] プロパティの値を Authorization に設定する必要はありません。Authentication で十分です。唯一の前提条件は GAM アプリケーションの
アクセス許可を必須にするオプションが選択されていることです。
次に示す例では、GAM Web Backoffice を使用してアクセス許可を定義します。
最初に、アプリケーションの GAM アクセス許可を編集します:
次に、クリックして GAM アクセス許可をアプリケーションに追加します:
GAM Backend を使用して、「PrintDetail」という名前のアクセス許可を定義します。
WW アプリケーションに移動し、対応するアプリケーションを選択して、アクセス許可「PrintDetail」を追加します。その際、目的の既定のアクセス許可のアクセスタイプを指定します。
このアクセス許可を含むロール (および対応する
アクセス許可のアクセスタイプ) を定義することも、単にこのアクセス許可をユーザーに割り当てることもできます。
[ ロール ] セクションに移動し、Role1 を編集してアクセス許可を割り当てます。
[ その他のオプション ] ボタンをクリックし、 [ アクセス許可 ] を選択します。
アプリケーションを選択します。この場合は次のようにします: [ ダッシュボード ] を選択し、 [ 追加 ] ボタンをクリックします。
ロールに割り当てるアクセス許可を選択し、 [ ADD SELECTED ] ボタンを押します。
次のコードを任意のオブジェクトに含めることができます。これは、ログインユーザーに付与されているアクセス許可に特定のアクセス許可が含まれるかどうかを確認するコードです。
&isAuthorized = GAMRepository.CheckPermission("BookCopy")
if &isAuthorized
//何か処理を行う
else
//他の処理を行う
endif
[ Integrated Security Level ] プロパティを Authorization に設定する必要はありません。Authentication で十分です。
GAM - オーソライズシナリオ
GAM Backend への制限付きアクセス
GAM - アクセス許可