Tuesday, March 26, 2013

วิธีการซ่อนและปรับ Menu ตาม Roles ที่ Assign ให้

วิธีการซ่อนและปรับ Menu ตาม Roles ที่ Assign ให้



ใน File “SiteMap-Extensions.xml” นั้นถูกใช้ในการกำหนด Menu ให้แตกต่างไปตามความต้องการของ Role ที่ Assign ให้แต่ละ User โดยใน Default ของระบบ จะไปดู Configuration มาตราฐานใน Path
Prodika Home> Config>Core>Reference>SiteMap-NPD.xml
ซึ่งถ้าเราต้องการให้มีการ แสดง Menu ตาม Role Assign นั้น แนะนำว่าไม่สมควรแก้ไขที่ Standard SiteMap โดยตรง ขอให้ใช้ SiteMap-Extensions.xml ที่อยู่ใน Path: Prodika Home> Config>Extensions แทน
โดยครั้งนี้เราต้องแก้ไขให้ Menu Template นั้นแสดงแค่เฉพาะ Role [NPDADMIN] เท่านั้น โดยให้เรานำชื่อของ Role ใส่มาที่หลัง Parameter  SecurityProfileRef” เพื่อเป็นการบอกว่า Menu นี้จะแสดงให้ก็ต่อเมื่อมีการ Assign Role ที่ระบุตามที่ระบุไว้ใน User Profile

<MenuItem ID="lblTemplates" DisplayText="--Templates" SecurityProfileRef="NpdAdmin" SkinRef="DefaultWithChildren" TranslationRef="NDPSideBar" Target="" NavigateUrl="" Expanded="false" >
<MenuItem ID="lblActivityTemplates" DisplayText="--Activity Templates" SecurityProfileRef="" SkinRef="DefaultSkin"  NavigateUrl="${dc:NPD}/MainPage/NPD.aspx?ContentKey=ActivityTemplateSearch" />
<MenuItem ID="lblProjectTemplates" DisplayText="--Project Templates" SecurityProfileRef="" SkinRef="DefaultSkin"  NavigateUrl="${dc:NPD}/MainPage/NPD.aspx?ContentKey=ProjectTemplateSearch" />
<MenuItem ID="lblSBTemplates" DisplayText="--Strategic Brief Templates" SecurityProfileRef="" SkinRef="DefaultSkin"  NavigateUrl="${dc:NPD}/MainPage/NPD.aspx?ContentKey=StrategicBriefTemplateSearch" />
<MenuItem ID="lblIdeaTemplates" DisplayText="--Idea Templates" SecurityProfileRef="" SkinRef="DefaultSkin"  NavigateUrl="${dc:NPD}/MainPage/NPD.aspx?ContentKey=IdeaTemplateSearch" Visible="${fc:Portal.SideNav.NPD.Idea.Enabled}" />
<MenuItem ID="lblTemplateMaintenance" DisplayText="--Template Maintenance" SecurityProfileRef="" SkinRef="DefaultSkin"  NavigateUrl="${dc:NPD}/MainPage/NPD.aspx?ContentKey=TemplateMaintenance" />
</MenuItem>

หลังจากนั้น ต้องทำการ Restart IIS Service และทดสอบผลต่อไป

No comments:

Post a Comment