【Dynamics CRM】ナビゲーションの表示制御
Dynamics CRMの画面上部に表示されているナビゲーションメニューについて、サイトマップを弄りながら遊んでいました。
そこで気がついたのですが、ナビゲーションに表示されているエリアの制御はエンティティのみではないのですね。
たとえば、[営業]エリアの[顧客]グループのサイトマップはこうなっています。
<Group Id="Customers" ResourceId="Group_Customers" DescriptionResourceId="Customers_Description" ToolTipResourseId="Customers_ToolTip" IntroducedVersion="7.0.0.0"> <SubArea Id="nav_accts" DescriptionResourceId="Account_SubArea_Description" Entity="account" ToolTipResourseId="Account_SubArea_ToolTip" GetStartedPanePath="Accounts_Web_User_Visor.html" GetStartedPanePathAdmin="Accounts_Web_Admin_Visor.html" GetStartedPanePathOutlook="Accounts_Outlook_User_Visor.html" GetStartedPanePathAdminOutlook="Accounts_Outlook_Admin_Visor.html" IntroducedVersion="7.0.0.0"> <Privilege Entity="msdynsm_salessitemap" Privilege="Read" /> </SubArea> <SubArea Id="nav_conts" DescriptionResourceId="Contact_SubArea_Description" Entity="contact" ToolTipResourseId="Contact_SubArea_ToolTip" GetStartedPanePath="Contacts_Web_User_Visor.html" GetStartedPanePathAdmin="Contacts_Web_Admin_Visor.html" GetStartedPanePathOutlook="Contacts_Outlook_User_Visor.html" GetStartedPanePathAdminOutlook="Contacts_Outlook_Admin_Visor.html" IntroducedVersion="7.0.0.0"> <Privilege Entity="msdynsm_salessitemap" Privilege="Read" /> </SubArea> </Group>
2つのサブエリアがあり、[取引先企業]と[取引先責任者]が表示されています。
XMLの「Privilege」を見てみると、「Entity」に「msdynsm_salessitemap」という記述があります。
Privilegeはサブエリアの表示制御を行っています。
この場合は「msdynsm_salessitemap」エンティティに対する権限がRead以上であれば表示されるという意味になります。
では、セキュリティロールから[取引先責任者]の権限を外すとどうなるでしょうか。
[顧客]グループから[取引先責任者]のサブエリアが表示されなくなりました。
権限がないエンティティのビューについては表示されないようです。
ここから、さらに[取引先企業]の権限も外します。
[顧客]グループに表示するサブエリアがなくなったためか、[顧客]グループが非表示になりました。
CRMのナビゲーションの表示については、XMLとエンティティへの権限で制御することができそうですね。
One Response to "【Dynamics CRM】ナビゲーションの表示制御"