![](/img/trans.png)
[英]What is the best way to manage roles in ActiveDirectory for ASP.NET Website?
[英]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.