<siteMapNode roles="*">
<siteMapNode url="~/Default.aspx" title=" Main" description="Main" roles="*"/>
<siteMapNode url="~/Items.aspx" title=" Adv" description="Adv" roles="Administrator"/>
....
любой пользователь может видеть страницу Adv. Это проблема и вопрос: почему и как скрывать роль ситэнодов.Управление 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 ... похоже, я не могу использовать System.Web в App_Code из WebApplication. – Cynede
также ... У меня нет разных папок для каждой роли. Если я делать папки в некоторых папках mu st сможет выполнять некоторые роли (не одну роль - одну папку) – Cynede
, но ... код web.config действительно помог! Спасибо. – Cynede