GeneXus Access Manager (GAM) を使用すると、ログインしているユーザーの
アクセス許可と
ロールに基づいて、Web アプリケーションのメニューを実行時に (動的に) 定義できます。
その目的は、エンドユーザーのアクセス許可に従ってメニューオプションをフィルタすることです。GAM は、ユーザーのアクセス許可に基づくメニュー構造を返して、その構造が任意のユーザーコントロールを使用して実行時にロードされるようにします。
メニューは、特定の
GAM アプリケーション用に定義する必要があります (GAM アプリケーション内で複数のメニューを定義できます)。
メニューオプションには、関連するアクセス権とリソースがあります。
メニューは、
GAM Backoffice または
GAM API を使用して設定できます (「
メニュー用の GAM API」を参照してください)。
1. メニューを定義する GAM アプリケーションを選択し、右側にある [ MORE OPTIONS ] ボタンをクリックし、 [ Menus ] を選択します。
2. [ ADD ] ボタンをクリックしてメニューを追加します。
3. メニューの名前と説明を定義します。
4. 各メニューの [ OPTIONS ] ボタンでメニューオプションを追加します。
5. [ ADD ] ボタンをクリックしてオプションを追加します。
6. メニューオプションを追加するときには、次のようなダイアログが表示されます。
メニューオプションは、
GAM アクセス許可とリソースに関連付けられています。
アクセス許可は、
GeneXus によって自動的に生成されたアクセス許可や
ユーザーによって作成されたアクセス許可など、その GAM アプリケーションに定義されているすべての GAM アクセス許可が含まれているコンボボックスから選択できます。
ユーザーによって作成されたアクセス許可は、メニューオプションをユーザーに表示するかどうかを決定するためにのみ使用されることに注意してください。リソースの実行時には、アクセス許可の確認は行われません。
リソースとは、URL、または URL 自体から実行される GeneXus オブジェクトのことです。GeneXus 16 Upgrade 10 以降で相対 URL を使用できます。例: /genexus.security.backend.gam_wwusers。
GeneXus オブジェクトがモジュール内にある場合は、リソースフィールドにモジュールを含めます。例:
module1.webpanel1。
既定では、GeneXus によって自動的に生成されるアクセス許可に関連付けられているメニューオプションのリソースは、
[ Permission Prefix ] プロパティとしてそのアクセス許可を持つオブジェクトです。
オプションのタイプは次のとおりです。
- Simple
- Menu (サブメニューをここで定義することもできます)
アプリケーションの環境設定は、この機能の動作に影響を与えます。
GeneXus 15 Upgrade 5 以降では、
[ UseAbsoluteUrlByEnvironment ] プロパティの値に応じて絶対 URL または相対 URL を使用できます。
その後、リソースのアクセス許可とユーザーのロールに基づいて、メニューが自動的に定義されます。エンドユーザーには、そのユーザーのアクセス許可と関連付けられたリソースにリンクされたメニューオプションのみが表示されます。
メニューは、任意のユーザーコントロールを使用して表示できます。詳しくは、「
Jscookmenu ユーザーコントロールを使用して GAM メニューを表示する方法」を参照してください。
GAM Web Backoffice のメニューは、
GAM Backend アプリケーションで自動的に定義されます。また、
GeneXus から初めて GAM リポジトリを作成するときに作成されます。
デプロイメント:
アプリケーションのデプロイツールを使用してアプリケーションを本番環境にデプロイする際に、メニューオプションに関連するアプリケーションのすべてのオブジェクトを手動で追加する必要があります。