一般に、
GAM リポジトリ管理者のみが
GAM Web Backoffice を実行できます。
オーソライズされたユーザーだけが GAM Backoffice にアクセスできるという制限が自動的に実装され、必要なコードがバックエンドオブジェクトに自動的に追加されます。ここでは、そのコードについて説明します。
最初に、
GAM Example の
[ Integrated Security Level ] プロパティを Authentication に設定します。使用されるマスターページにより、GAM Backoffice オブジェクトへのアクセスを許可するロールがユーザーに割り当てられているかどうかがチェックされます。
それを確認するには、GAMMasterpage オブジェクト (GAM Backoffice へのエントリーポイントとなる "GAMHome" Web パネルの マスター ページ オブジェクト) を編集し、Start Event のコードを調べます:
Event Start
If GAMUser.CheckRoleByExternalId(!"is_gam_administrator")
Header1.Object= GAMHeader.Create(ContHolder1.Pgmname)
//OK
Else
GAMExampleNotAuthorized.Link()
Endif
EndEvent
つまり、GAMUser オブジェクトの
CheckRoleByExternalId メソッドを使用して、"is_gam_administrator" ロール外部 ID がチェックされます。
Administrator ロール (自動作成) にはこのロール外部 ID が既定で割り当てられます。Administrator ロールのロール外部 ID は、GAM アプリケーションの登録時 (および GAM メタデータの初期化時) に更新されます。
以前のバージョンでは、CheckPermission メソッドを使用して、GAM Backoffice へのユーザーのアクセス可否がチェックされていました。その場合、
[ Require Access Permissions Application ] プロパティをアクティブ化する必要がありました。
現在は、アクセス許可ではなくロールをチェックするため、このプロパティは不要です。