アクセス許可のカスタム権限設定

<< Click to Display Table of Contents >>

マニュアル > 監視システム構築ガイド > プロジェクトの作成 > 標準プロジェクトの作成 > 標準プロジェクトのユーザ管理(ログイン) > 機能解説 >

アクセス許可のカスタム権限設定

アクセス許可のカスタム権限設定について

ユーザ管理のグループ登録の「カスタム」タブでは、独自の権限情報を登録することができます。

 

(グループ登録のカスタム権限設定)

p_prj_0341

 

ここで登録されたカスタム権限情報は、スクリプトから取得して処理判断などに利用することができます。

 

例えば、ユーザが独自に追加したグラフィック画面などで、単純なユーザレベルのみでは判定できないような複雑なセキュリティ要件に対して、スクリプトからカスタム権限を取得して判定を行うような独自のロジックを構築することができます。

 

 

 

 

 

 

カスタム権限の登録

カスタム権限の登録は、アクセス許可のカスタムタブから行います。

 

p_prj_0341

 

カスタム権限を追加するには、グリッドの右上にある「追加」ボタンをクリックすることで新たな行を追加することができます。

 

p_prj_0343

 

また、カスタム権限を削除するには、グリッドで対象の行が選択した状態で、右上の「削除」ボタンをクリックします。

 

p_prj_0344

 

 

カスタム権限はグリッドのセルをダブルクリックする事によって自由に編集することができます。

 

 

カスタム権限の項目の仕様は以下のとおりです。

 

項目

内容

補足

ポリシー名

 

ポリシー名には、分かりやすい任意の名称を指定します。

この名称は他の場所で使用されることは特にありません。

キー

 

スクリプトから参照するキー名を指定します。

ここで指定したキー名は、スクリプトからカスタム権限情報を取得する際にキーとして使用します。

タイプ

 

データ型として、「ブール」か「文字列」「かを指定することができます。

ブールを指定すると値の欄がチェックマークになり、チェックありでTrue、なしでFalseの意味となります。尚、タイプを文字列として値に「True」あるいは「False」と文字で指定しても同様の意味となります。

値

 

値を指定します。

数値、文字にかかわらず、任意の値を指定することができます。

 

 

スクリプトからのカスタム権限の取得

カスタム権限はスクリプトからGetAuthルートメソッドで取得することができます。

 

以下に、簡単な例を紹介します。尚、ここでは、以下のカスタム権限が登録されているものとします。

 

(カスタム権限の設定例)

グループ名

キー名

値

管理者

key1

True


key2

123


key3

abc

上級オペレータ

key1

True


key2

456


key3

def

一般オペレータ

key1

False


key2

789


key3

ghi

閲覧ユーザ

key1

False


key2

設定なし(ブランク)


key3

設定なし(ブランク)

 

 

■スクリプトの実装例

 

1.フォームにボタンを1つ配置します。

 

p_prj_0345

 

2.ボタンのスクリプトページを開き、OnMouseUpイベントを追加します。

 

p_prj_0346

 

3.スクリプトを記述します。

 

ここでは例として、key2の値を取得して画面に表示します。

 

p_prj_0347

 

(記述内容)

event OnMouseUp(button)

{

 var vVal;

 

 vVal  = ::GetAuth("key2");

 ::OpenMsg(vVal);

}

 

 

4.動作確認

 

プロジェクトを実行し、まずは管理者でログインして、上記のボタンを配置した画面を表示します。

 

ボタンをクリックすると、管理者グループのkey2に設定されている「123」が表示されます。

 

p_prj_0348

 

続いて、上級オペレータでログインして同様にボタンをクリックすると、上級オペレータグループのkey2に設定されている「456」が表示されます。

 

p_prj_0349

 

このように、カスタム権限として登録した権限情報はスクリプトから簡単に取得することができます。

権限が条件を満たしているかどうかを判定したい場面で同メソッドを呼び出す事で、権限値に応じた処理を実装することができます。