繁体   English   中英

在ASP.NET网站菜单中管理角色

[英]Manage roles in asp.net website menu

我想知道是否有可能在网站菜单中配置角色以防止看到一些aspx,以及是否在用户登录后在c#中获得当前角色(后面的代码)。 谢谢

如果您正在使用asp.net角色提供程序和asp.net菜单控件,则可以使用web.sitemap文件来控制基于角色的菜单链接的显示,如下所示。

<siteMapNode url="/Test/Default.aspx" roles="Admin" title="Test" description="">

否则,您可以使用loginview控件根据以下角色显示不同的链接。

<asp:LoginView runat="server">
    <AnonymousTemplate>
       Menu Link1
    </AnonymousTemplate>
    <RoleGroups>
        <asp:RoleGroup Roles="Admin">
            <ContentTemplate>
                Menu Link2
            </ContentTemplate>
        </asp:RoleGroup>
    </RoleGroups>
</asp:LoginView>

如果您没有使用角色提供程序,而是说要将该信息存储在会话中或某个位置,则可以在aspx文件中使用类似的内容。

<% if (Session["admin"].ToString() == "Admin") { %>
  Link1
<% } else { %>
  Link2
<%} %>

您可以通过以下方式获取登录用户的当前角色:

string[] roleNames = Roles.GetRolesForUser();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM