項目属性の Show/Hide Security

項目属性の Show/Hide Security 

項目属性の Show/Hide Security は、(1 つまたは複数のロールにグループ化された) 特定のユーザーグループだけが表示できる項目属性がある場合に便利です。したがって、必要な各項目属性に対して、この種のセキュリティを有効にできます (すべての項目属性に対して行うこともできます)。

WorkWithPlus は、表示する権限をユーザーが持っているかどうかを自動的に検証し、権限がない場合、表示されるすべての Web フォーム (ColumnsSelector、View、Prompt およびテンプレートを使用して作成された Web パネルを含む Transaction、Selection、ExtraSelection) で、項目属性が非表示となります。

項目属性と変数のみを含むパネルがあり、その項目属性と変数のすべてで Show/Hide Security が有効になっている場合、ユーザーがパネル内の項目属性や変数を表示する権限を持っていなければ、WorkWithPlus は自動的にパネルを非表示にします。また、タブの場合も同様で、項目属性と変数のみを含むタブがあり、その項目属性と変数のすべてで Show/Hide Security が有効になっている場合、ユーザーがタブ内の項目属性や変数を表示する権限を持っていなければ、WorkWithPlus は自動的にタブを非表示にします。タブとパネルの例を表示

特定の項目属性に対して Show/Hide Security を有効にするには、項目属性の定義の [Enable Show/Hide Security] プロパティを [True] に設定する必要があります。

"PersonLastName" 項目属性のプロパティの例を下の図に示します:

Show/Hide Security を有効にすると、[Show/Hide Security Functionality Key] プロパティが表示されます。このプロパティは、あるロールに対してその項目属性を表示するかどうかを定義するために、項目属性が持つ権限の名前を設定します (どちらのプロパティも既定値は、[WWP Configuration] > [Security]([Advanced Security] または [GAM]) から取得されます。そのため、アプリケーションのすべての項目属性に対して Show/Hide Security を有効にしたい場合、[WWP Configuration] > [Security]([Advanced Security] または [GAM]) の [Default Enable Show/Hide Security] プロパティを [True] に変更する必要があります。

Show/Hide Security を有効にした項目属性がインスタンス (テンプレートに基づく Transaction、Selection、View、WebPanel など) で表示されるすべてのオブジェクトで、[Show/Hide Security Functionality Key] という名前のプロパティがあります。このプロパティは、項目属性を表示するための権限の名前を定義します。

次に、[Selection] ノード内の項目属性ノードにあるこのプロパティの例を示します:

値 "<default>" は、項目属性の定義の同じプロパティから権限の名前を取得します (上の図は、PersonLastName の Show/Hide Security を有効にした場合の例です)。  

[Edit/ReadOnly Security Functionality Key] を変更し、実行中のアプリケーションに変更を反映する場合は必ず、有効にしている Security に応じて「セキュリティ機能の更新 (高度なセキュリティ)」または「セキュリティ機能の更新 (GAM + WorkWithPlus)」の手順を実行してください:

上の手順に従ってすべてビルドを行ったら実行中に変更を表示できます (「高度なセキュリティ」および「GAM + WorkWithPlus」を使用した項目属性のセキュリティは開発者の視点では同じものですが、唯一異なる点は、各ロールの権限を設定するために異なるオブジェクトを使用していることです)。

GAM セキュリティ + WorkWithPlus の項目属性の表示/非表示の例

あるユーザーがロール "New Role" でアプリケーションにログインしますが、このロールには PersonLastName 項目属性を表示するための権限がありません。そのため、この項目属性が表示される Web フォーム (ColumnsSelector、View、Prompt、およびこの項目属性を使用しているすべての Web パネルを含む Transaction、Selection、ExtraSelection) で PersonLastName を表示できません。

(ColumnsSelector グリッドである) WWPerson を開き、項目属性が表示されないことを検証します:

PersonLastName 列を含む Person ExtraWWPersonGXUI の ExtraSelection を開いても、表示されません:

任意の Person を表示します。

次に、その Person を編集します:

最後に、テンプレートに基づく任意の Web パネルに移動します:

すべての場合で、PesonLastName 項目属性が表示されることはありません。

ここでこのユーザーはログアウトし、この項目属性を表示する権限を付与するために、管理者がロールの権限を編集します:

 

"New Role" ロールのユーザーがログインすると、すべての Web パネルのこの項目属性が表示されます:

 (ColumnsSelector グリッドである) WWPerson を開き、今度は項目属性が表示されることを検証します:

Person ExtraWWPersonGXUI の ExtraSelection を開いて、PersonLastName 列を表示します:

任意の Person を表示します:

次に、その Person を編集します:

最後に、テンプレートに基づく任意の Web パネルに移動します:

高度なセキュリティの項目属性の表示/非表示の例

あるユーザーがロール "Visitor" でアプリケーションにログインしますが、このロールには PersonLastName 項目属性を表示するための権限がありません。そのため、この項目属性が表示される Web フォーム (ColumnsSelector、View、Prompt、およびこの項目属性を使用しているすべての Web パネルを含む Transaction、Selection、ExtraSelection) で PersonLastName を表示できません。

このユーザーが Person を作成、編集、または削除するためにログインすると、次の画像が表示されます:

このユーザーはログアウトし、この項目属性を表示する権限を付与するために、管理者が Visitor ロールの権限を編集します:

"Visitor" ロールのユーザーがログインすると、この項目属性が表示されます:

 


Copyright © 2007-2015 DVelop Software Solutions - www.workwithplus.com