簡體   English   中英

將項目限制為管理員角色和用戶角色成員資格提供程序

[英]Restrict Items to Admin Role & User Role Membership Provider

在這里我想檢查userRole是否為Administrator然后顯示所有菜單項&如果userRole為非Administrator然后顯示公共菜單項。但是這里沒有任何錯誤,但是顯示與Admin&Normal User相同

 <div class="nav-collapse collapse">
 <ul class="nav"> 
     <%if (Roles.IsUserInRole(System.Web.HttpContext.Current.User.Identity.Name, "Administrator"))
     {%>
<li class="active"><a href="Default.aspx">Home</a></li>

<li class="dropdown">
    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Company <b class="caret"></b></a>
    <ul aria-labelledby="dLabel" role="menu" class="dropdown-menu">
        <li>
            <a href="CompanyProfile.aspx">Profile</a>
        </li>
        <li>
            <a href="FileData.aspx">FileData</a>
        </li>
    </ul>
</li>

<%}
 else
  { %>
<li class="active"><a href="Default.aspx">Home</a></li>

<li class="dropdown">
    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Company <b class="caret"></b></a>
    <ul aria-labelledby="dLabel" role="menu" class="dropdown-menu">
        <li>
            <a href="CompanyProfile.aspx">Profile</a>
        </li>
    </ul>
</li>

<% }    
%>
</ul>
</div>
 </ul>
 </div> 

對於這種情況,您想使用LoginView控件,而不是在html標記內對C#類進行硬編碼,這確實很脆弱且難以維護。

此外,如果在您的應用程序中正確配置了成員資格,則LoginView控件將立即可用。

<asp:LoginView id="LoginView1" runat="server">
   <AnonymousTemplate>
      Please log in for personalized information.
   </AnonymousTemplate>
   <LoggedInTemplate>
     Thanks for logging in 
      <asp:LoginName id="LoginName1" runat="Server"></asp:LoginName>.
   </LoggedInTemplate>
   <RoleGroups>
      <asp:RoleGroup Roles="Administrator">
         <ContentTemplate>
            <div class="nav-collapse collapse">
               <ul class="nav"> 
                  <li class="active"><a href="Default.aspx">Home</a></li>
                   ....
                </ul>
             </div>
         </ContentTemplate>
      </asp:RoleGroup>
   </RoleGroups>
</asp:LoginView>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM