<siteMapNode roles="*">
<siteMapNode url="~/Default.aspx" title=" Main" description="Main" roles="*"/>
<siteMapNode url="~/Items.aspx" title=" Adv" description="Adv" roles="Administrator"/>
....
모든 사용자는 Adv 페이지를 볼 수 있습니다. 그게 문제이고 퀴 스톤입니다 : 왜 그리고 어떻게 역할의 sitenodes를 숨기려고합니다.사용자 역할을 기반으로하는 SiteMap 컨트롤이 작동하지 않습니다.
그러나 내가 수행 할 경우 HttpContext.Current.User.IsInRole("Administrator")
관리자 역할의 사용자인지 여부를 보여줍니다.
웹 설정 :
<authentication mode="Forms"/>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add connectionStringName="FlowWebSQL" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" passwordFormat="Hashed" applicationName="/" name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SqlProvider">
<providers>
<add connectionStringName="FlowWebSQL" name="SqlProvider" type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>
hm ... WebApplication의 App_Code에 System.Web을 사용할 수 없습니다. – Cynede
... 각 역할마다 다른 폴더가 없습니다. 폴더 무 몇 가지 폴더를 할 st는 일부 역할 (하나의 역할이 아닌 하나의 폴더)을 가질 수 있습니다. – Cynede
하지만 ... web.config의 코드가 실제로 도움이되었습니다! 고맙습니다. – Cynede