/
ロールベースの設定

ロールベースの設定

ログイン中のユーザーのロールは Reference Framework のセキュリティマネージャ に UserDetails として保存されます。これらのロールはログイン中、Reference Framework セキュリティサービスにより記録されます。詳細な情報は、Reference Framework セキュリティ設定をご覧ください。

 

ホームページ
Reference Framework ホームページ設定はログイン中のユーザーに基づきロードされるホームページ以上の設定を可能にします。

属性
• role - どのロールにより使用されるかを指定します。


ロールが指定されない場合、ホームページがログイン中のユーザーのために使用されます。1つ以上のホームページが同じロール(またはロールなし)で設定されている場合、ロールと合致している最初のホームページが使用されます。

<homepageConfig>
     <homepage pageId="homepageAdmin" role="ROLE_ADIM"/>
     <homepage pageId="homepageExec" role="ROLE_EXEC"/>
     <homepage pageId="homepageUser" role="ROLE_USER"/>
 </homepageConfig>

ショートカット
Reference Frameworkは、アサインされたロールに基づき、ログイン中のユーザーが、ショートカットキーが利用できるかどうかを設定する機能を提供します。

属性
• role - ショートカットを実行が有効になるロールを指定します。


ロールが指定されない場合、ログイン中のユーザーに対しショートカットが有効になります。 

<shortcut key="F5" onCommand="PageManager.loadPage( 'companyOverview' )" role="ROLE_USER"/>
<shortcut key="F6" onCommand="PageManager.loadPage( 'statusReport' )" role="ROLE_ADMIN"/>

Menu Items
Reference Framework はロールの使用によりメニュー項目の表示をコントロールする手段を提供します。メニュー項目は、ログイン中のユーザーのロールに基づき表示しない、または無効にすることができます。

属性
• role - メニュー項目を表示可能にする必要のあるロールを指定します
• roleVisible - 表示可能なメニュー項目に必要なロールを指定します
• roleEnabled - メニュー項目が有効になるために必要なロールを指定します


role 属性と表示可能な role 属性は同じように稼働します。 role 属性は互換性のために存在します。ロールまたは roleVisible 属性が設定されると、メニュー項目がデフォルトで表示可能になります。roleEnnabled 属性が設定されていない場合、メニュー項目がデフォルトで有効になります。

<menuGroups>
     <menuGroup name="samplesMenu" text="Nexaweb Samples>
         <item name="samplesMenu.page1" onCommand="page:page2.load()" role="ROLE_ADMIN" text="Page 1"/>
         <item name="samplesMenu.page2" onCommand="page:page2.load()" roleVisible="ROLE_ADMIN" text="Page 2"/>
         <item name="samplesMenu.page3" onCommand="page:page3.load()" roleEnabled="ROLE_USER" text="Page 3"/>
     </menuGroup>
 </menuGroups>

Command Buttons
Reference Framework はロールの使用でメニュー項目の表現をコントロールする手段を提供します。メニュー項目は、ログイン中のユーザーのroleロール基づき、表示できないまたは無効にすることが可能です。

属性
• role - ボタンが表示可能にするために必要なロールを指定する
• roleVisible - ボタンが表示可能にするために必要なロールを指定します。
• roleEnabled - ボタンが有効になるために必要なロールを指定します


role 属性と roleVisible 属性は同じ働きをします。role 属性は互換性のために存在します。Roleまたは roleVisible 属性が設定されていない場合、ボタンはデフォルトで表示可能です。roleEnabled 属性が設定されていない場合、ボタンはデフォルトで有効になります。

<commandbar>
    <button image="/images/button1.png" name="cmdButton1" onCommand="mco:cmdMco.handleButton1()" tooltip="First Button"
            role="ROLE_ADMIN"/>
    <button image="/images/button2.png" name="cmdButton2" onCommand="mco:cmdMco.handleButton2()" tooltip="Second Button"
            roleVisible="ROLE_ADMIN"/>
    <button image="/images/button3.png" name="cmdButton3" onCommand="mco:cmdMco.handleButton3()" tooltip="Third Button"
            roleEnabled="ROLE_USER"/>
</commandbar>

Pages
Reference Framework はページをロード、またはロールの使用で編集することができるかどうかに関するコントロールを提供します。

属性
• roleOpen - ページを開くために有効なロールを指定します
• roleReadOnly - リードオンリーとしてページを開くロールを指定します


roleOpen 属性が設定されていない場合、ログイン中のユーザーはページを開くことができます。roleReadOnly 属性が設定されていない場合、ページは編集可能として開きます。

<page name="page1" title="Page 1" xal="/XAL/pages/Page1.xal" roleOpen="ROLE_ADMIN"/>
<page name="page2" title="Page 2" xal="/XAL/pages/Page2.xal" roleReadOnly="ROLE_USER"/>

Components
Reference Framework はロールの使用により、各コンポーネントの振る舞いをコントロールする手段を提供します。 ロールは、コントロールが有効かどうか、コントロールがリードオンリーかどうかに関する表示性をコントロールするために使用することができます。

属性
• roleEnabled - コンポーネントを有効にするために必要なロールを指定する
• roleVisibile - コンポーネントを表示可能にするために必要なロールを指定する
• roleReadOnly - コンポーネントをリードオンリーにするために必要なロールを指定する
• rolePolicy- ポリシーがどのように適用されるかを指定する

有効値 : allow|deny


roleEnable 属性が設定されていない場合、コンポーネントは有効になります
roleVisible 属性が設定されていない場合、コンポーネントは表示可能になります
roleReadOnly 属性が設定されていない場合、コンポーネントは編集可能になります

<button height="25px" roleEnabled="ROLE_ADMIN" text="Run Report" width="100px" x="36px" y="205px"/>
<button height="25px" roleVisible="ROLE_ADMIN" text="Run Report" width="100px" x="36px" y="205px"/>
<button height="25px" roleReadOnly="ROLE_ADMIN" text="Run Report" width="100px" x="36px" y="205px"/>
<textField roleReadOnly="ROLE_ADMIN" height="25px" width="200px" x="49px" y="251px"/>

この設定でのボタン :

<button text="Push Me" roleVisible="ROLE_DEPT_A" rolePolicy="deny"/>

異なるロールのユーザーに関しては、次の表が表示しているようにボタンが表示可能/不可になります :

rolePolicy の値

allowdeny
ユーザーがROLE_DEPT_Aのロールを保有visibleinvisible
ユーザーはROLE_DEPT_Aでないロールを保有; つまり ROLE_DEPT_Binvisiblevisible

ページナビゲーション
ログイン中のユーザーのロールに基づき、どのページがロード可能にするかによって、ページナビゲーションをコントロールします。

属性
• role - 次または前のページとしてロードされるページを示すロールを指定します


role属性が設定されてない場合、設定で指定されているように次または前のページとしてページがロードされます。1つ以上の設定がrole設定を含まず合致したロールを含んでいる場合、最初の設定が使用されます。

<page name="page1" title="Page 1" xal="/XAL/pages/Page1.xal" roleOpen="ROLE_ADMIN">
     <navigation>
          <nextPage pageId="pageA" role="ROLE_ADMIN"/>
          <nextPage pageId="pageB" role="ROLE_USER"/>
          <prevPage pageId="pageC" role="ROLE_ADMIN"/>
          <prevPage pageId="pageD" role="ROLE_USER"/>
     </navigation>
</page>