ロールベースの設定
ログイン中のユーザーのロールは 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 の値 | allow | deny |
ユーザーがROLE_DEPT_Aのロールを保有 | visible | invisible |
ユーザーはROLE_DEPT_Aでないロールを保有; つまり ROLE_DEPT_B | invisible | visible |
ページナビゲーション
ログイン中のユーザーのロールに基づき、どのページがロード可能にするかによって、ページナビゲーションをコントロールします。
属性
• 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>