SiteMap kontrola na základě uživatelských rolí nefunguje,

hlasů
0
  <siteMapNode roles=*>

    <siteMapNode url=~/Default.aspx title= Main description=Main roles=*/>

    <siteMapNode url=~/Items.aspx title= Adv description=Adv roles=Administrator/>

....

každý uživatel může vidět Adv strana. To je problém a qustion: proč a jak se schovat z role sitenodes.

ale když to udělám HttpContext.Current.User.IsInRole(Administrator), že mi ukáže, zda uživatel v roli správce nebo ne.

web config:

<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>
Položena 19/04/2010 v 07:35
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Aktivovat zabezpečení ořezávání zabezpečení ořezávání není ve výchozím nastavení povoleno, a to nemůže být povolen programově; lze nastavit pouze v souboru web.config

http://msdn.microsoft.com/en-us/library/ms178428.aspx

Odpovězeno 19/04/2010 v 07:40
zdroj uživatelem

hlasů
1

Budete muset použít umístění značky v web.config.

<location path ="Items.aspx" >

   <system.web>

     <authorization>

       <allow roles ="Administrator"/>
       <deny users="*"/>
     </authorization>

   </system.web>

 </location>

Viz následující informace týkající se krok za krokem provádění vlastní roli
http://urenjoy.blogspot.com/2010/03/custom-role-provider-sitemap-navigation.html

Odpovězeno 22/04/2010 v 06:54
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more