最近のアクセス:
GAM - アクセス許可のグループ化

GAM のアクセス許可は、階層構造にグループ化することで管理しやすくすることができます。
また、アクセス許可は階層構造を使用して定義することで、メンテナンスを簡素化できます。
この階層には子と親のアクセス許可があります (ツリー構造)。子は親の動作を継承し、親に対する変更はすべて子に反映されます。

子のアクセス許可を定義する方法

任意のアクセス許可 (GeneXus によって生成される自動アクセス許可ユーザーによって作成されるアクセス許可) は、子を持つことができます。
アクセス許可はアプリケーションの範囲内にあるため、そこでアクセス許可の階層が定義されます。
子のアクセス許可を定義するには、以下を行います。
  • GAM Backend を実行します。
  • WW アプリケーションにアクセスします。
  • アプリケーションのアクセス許可を編集します。
  • リストで「親」のアクセス許可となるアクセス許可を見つけ、以下の図に示すアイコンをクリックして、その子を定義します。
イメージ:52564.jpg

図 1.「親のアクセス許可」があれば、表示されている画像をクリックして子を追加できます。

次に、 [ ADD ] ボタンをクリックし、親のアクセス許可の子となるアクセス許可を選択します。
イメージ:52565.jpg

図 2. [ ADD ] ボタンをクリックして子のアクセス許可を選択し、追加します。

この場合、子のアクセス許可は、novels_Execute、novels_Updates、novels_Insert になります。
子の既定のアクセス許可のアクセスタイプは、親と同じになります。そのため、親に「制限付き」の既定のアクセスタイプを指定すると、子にも適用されます。

「親」のアクセス許可がロールと関連付けられている場合

「親」のアクセス許可がロールと関連付けられている場合、この親のすべての子のアクセス許可は、ロールのアクセス許可のリストに拡大されます。
次の例では、「novels_fullcontrol」のアクセス許可を「親」のアクセス許可に追加するとします。
イメージ:52566.jpg

図 3.「novels_fullcontrol」を「親」のアクセス許可の子として追加する

次の図に示すように、「novels_fullcontrol」は、novels_Execute、novels_Update、novels_Insert を持つ親のアクセス許可となる点に注意してください:
イメージ:52572.jpg
「親」のアクセス許可をロールに追加すると、すべての「子」のアクセス許可がロールに展開されます。たとえば、「親」のアクセス許可を「RoleSample」に関連付けると、ロールのアクセス許可は次のようになります。
イメージ:52569.jpg

図 4.「ParentPermission」が「SampleRole」と関連付けられた後のロールのアクセス許可

アクセス許可に加えることができる変更

ロールで、アクセス許可のアクセスタイプを変更できます。
「親」のアクセスタイプを変更すると、継承が失われていない限り、その変更が子にも反映されます。
次の図は、「親」のアクセス許可のアクセスタイプの変更が子にどのように影響するかを示しています。
イメージ:52567.jpg

図 5.「親」のアクセス許可のアクセスタイプの変更 

継承が失われる場合

継承は、子のアクセスタイプが変更された場合、または継承のチェックボックスに変更が加えられた場合に失われます。
たとえば、上の例では、「novels_insert」のアクセスタイプを変更すると、このアクセス許可は親からの継承を失い、それが継承のチェックボックスに反映されます。
イメージ:52568.jpg

図 6. アクセス許可が継承を失った場合

継承を失うと、親のアクセスタイプを変更しても子に反映されなくなります。
注: アクセス許可のグループ化の真の価値は継承にあります。これにより、複数のアクセス許可を管理する必要がなくなり、単一のアクセス許可 (さまざまなアクセス許可を「グループ化」したもの) を管理するだけで済みます。実際、実行時には、親ではなく子のアクセス許可のコードチェックが行われます。これは、複数のアクセス許可をグループ化するために使用される架空のアクセス許可にすぎません。

使用例

次の GeneXus コードがあるとします:
Event "Generate Payments"

 ProcA.call()
 .......... 
 ProcB.call()
 ............
 ProcC.call()

EndEvent
この場合、ProcA、ProcB、および ProcC を実行するためのアクセス許可を単一のアクセス許可にグループ化することができます。そうすることで、これらすべてのアクセス許可を管理する代わりに、単一のアクセス許可を管理するだけでよくなります。

参考情報

GAM - フル コントロール アクセス許可と継承
 

サブページ
Created: 23/04/24 18:05 by Admin Last update: 23/05/08 21:26 by Admin
カテゴリ
Powered by GXwiki 3.0