<siteMapNode roles="*">
<siteMapNode url="~/Default.aspx" title=" Main" description="Main" roles="*"/>
<siteMapNode url="~/Items.aspx" title=" Adv" description="Adv" roles="Administrator"/>
....
すべてのユーザーがAdvページを表示できます。それは問題であり、疑問です。役割のサイトノードから隠す理由と方法。
しかし、HttpContext.Current.User.IsInRole("Administrator")
そうすると、ユーザーが管理者の役割を果たしているかどうかが表示されます。
Web構成:
<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>