実践 権限管理の基本 (2) アクションの制御

前回に引き続き、セキュリティロールである。

今回は言葉だけでなく実際の制御に関して記載する。

なお、今回は権限レベル(ユーザーや部署など)には触れず、

アクション(作成、読み込み)に関してのみ記載する。

また、権限を確認するために下記のカスタムエンティティを作成している。

・Lookupをもつエンティティ

・関連ビューを持つエンティティ

 

まず、すべての権限がない場合である。

これは想像のとおり、表示がされない。

20140923_001

画面ショットはないが、当然高度な検索の選択エンティティなどにも表示はされない。

次であるが、まずベースとなるのが[読み込み]である。

エンティティが表示されなければ(読み込まれなければ)、その他のアクションは成り立たない。

[読み込み]権限を付与すると下記のようにエンティティが表示される。

20140923_002

実際にエンティティをクリックすると下記のようになる。

20140923_003

[読み込み]権限を付与することでエンティティを表示することができた。

※画像の状態ではレコードが存在していなかった。存在していればレコードも表示される。

次にレコードを[作成]してみたいと思う。[新規]ボタンが表示されていないので、

権限が足りていないことが推測できる。

[作成]権限を付与してみる。付与後の画面は以下のとおりである。

20140923_004

[新規]ボタンが表示され、レコードの新規作成画面が起動する。

以下の画面は、レコードの新規作成画面が表示後、必須項目を入力し、保存した画面である。

20140923_005

保存するとすべてのフィールドに鍵マーク及び右下に[読み取り専用]と表示される。

これはエンティティに対する[書き込み]権限が付与されていないからである。

では次に[書き込み]権限を付与してみる。画面は以下のとおりである。

20140923_010

[名前]のテキストフィールドが変更可能となった。ただ、[Lookup]や[所有者]に関しては鍵マークのままである。

これは、後述する[追加][追加先]や[割り当て]の権限が付与されていないからである。

上記を解説する前に[削除]に関して触れておく。

ビュー上の[削除]ボタンに関しては[読み込み]権限を与えた時点で表示がなされている。

※権限がなければ表示されないのが基本なので、不具合とも言えるかもしれない。

削除権限を付与する前に[削除]をクリックしてみる。

20140923_006

20140923_007

20140923_008

[権限がありません]というダイアログが表示され、削除ができないことが分かる。

若干テーマからそれるが、上記のようなダイアログが発生し、原因調査をしたい場合は

[ログファイルのダウンロード]をクリックするとヒントが表示される。

内容は下記のようなテキストであるが、”privilege”が”missing”とあるんおで権限が不足というなことがなんとなく分かる。

20140923_009

話しを戻す。

次に分かりやすい、[割り当て][共有]を先に説明するである。

これは下記のようにボタンが表示されるものであると思えばよい。

20140923_013

最後に[追加][追加先]である。

結論から言うと、Lookupを持つエンティティで[追加]、関連ビューを持つエンティティで[追加先]

を選択していないと、Lookupフィールドの鍵マークが表示され、値の選択ができない。

単純に[書き込み]の権限だけを付与すると以下のとおり、[Lookup]フィールドは読み取り専用である。

20140923_010

以下のように権限を付与してみる。

20140923_011

すると、[Lookup]フィールドの鍵マークが表示されなくなり、選択が可能となる。

20140923_014

以上。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中