2012年2月10日金曜日

セキュリティロールによるリボンの表示制御 第1回

リボンにある任意のボタンをセキュリティロールによって、表示・非表示の制御ができます。

リボンから、ログインユーザのセキュリティロールを直接判別できませんが、ログインユーザが特定エンティティへのアクセス権限を判別できます。この性質を利用して、カスタムリボンの表示制御は次のアプローチで実現します。

・カスタムリボン(ボタン)ごとに、エンティティを作ります。
・セキュリティロールで、エンティティへのアクセス権限を設定します。
・ログインユーザに、セキュリティロールを設定します。
・リボン定義で、ログインユーザがエンティティへのアクセス権限を判別し、ボタンの示/非表示を決めます。

ここから、以下仮想要件のもとで、実践していきます。
・取引先企業というエンティティグリッドリボンのビュータブに、「帳票」というグループを追加します。帳票グループのなかに、「帳票A」と「帳票B」二つのボタンを設置します。
・システム管理者以外に、ユーザA、ユーザBを登録しておきます。システム管理者に、「帳票A」と「帳票B」両方表示します。ユーザAに「帳票A」だけ、ユーザBに「帳票B」だけ表示します。

作業手順:
1.エンティティを作ります。
2.セキュリティロールを作成します。
3.ユーザを登録(セキュリティロール割り当て含む)します。
4.リボンをカスタマイズします。
5.動作確認します。

手順を説明していきます。

1.エンティティを作ります。
以下要領で、名前が「帳票A」と「帳票B」のエンティティを作る
・表示名:帳票A、帳票B
・英語名:new_tyohyoa、new_tyohyob
・企業形態:組織全体
・メモ、活動、接続など、デフォルトがチェックされている項目をすべてOFFに















企業形態を組織全体にするというのは、後のセキュリティロール設定を簡素化するためです。
メモ、活動、接続などのチェック項目を外すのは、必要以上にシステムに負担を掛けないためです。
英語名はあとのリボンカスタマイズするとき使うので、記述しておきます。

2.セキュリティロールを作成します。

簡素化するため、既存の営業課長というセキュリティロールをコピーして、名前が「試験ロールA」と「試験ロールB」のセキュリティロールを作ります。
試験ロールAでは、帳票Aエンティティの読込み権限を組織全体と設定し、帳票Bエンティティの読込み権限を選択なしと設定します。
試験ロールBでは、帳票Aエンティティの読込み権限を選択なしと設定し、帳票Bエンティティの読込み権限を組織全体と設定します。








エンティティを作成するとき、企業形態を「組織全体」と設定したため、ワンクリックで、選択のオンとオフを切り替えられます。

3.ユーザを登録します。

WindowsLiveIDをふたつ取得して、ユーザAとユーザBを登録します。
ユーザAに、セキュリティロールの「試験ロールA」を、ユーザBに「試験ロールB」を割り当てます。









続き・・・

0 件のコメント:

コメントを投稿