asp.net – 我可以隐藏/显示asp:菜单项基于角色吗?

我能够隐藏某些菜单项在asp:菜单控件基于角色吗?
<asp:Menu ID="mTopMenu" runat="server" Orientation="Horizontal" />
    <Items>
        <asp:MenuItem Text="File">
            <asp:MenuItem Text="New Project" />
            <asp:MenuItem Text="Release Template" NavigateUrl="~/Release/ReleaseTemplate.aspx" />
            <asp:MenuItem Text="Release Schedule" NavigateUrl="~/Release/ReleaseSchedule.aspx" />
            <asp:MenuItem Text="Roles" NavigateUrl="~/Admin/AdminRoles.aspx" />
        </asp:MenuItem>
    </Items>
</asp:Menu>

如何使其中一个项目只有管理员角色中的用户可见?
我使用asp.net角色提供程序。

解决方法

您可以将菜单项绑定到站点地图,并使用roles属性。您需要在Web.Config中启用安全修整才能执行此操作。这是最简单的方法

网站导航概述:
http://msdn.microsoft.com/en-us/library/e468hxky.aspx

安全修整信息:
http://msdn.microsoft.com/en-us/library/ms178428.aspx

网站地图
http://www.w3schools.com/aspnet/aspnet_navigation.asp

良好的教程/概述:
http://weblogs.asp.net/jgalloway/archive/2008/01/26/asp-net-menu-and-sitemap-security-trimming-plus-a-trick-for-when-your-menu-and-security-don-t-match-up.aspx

一个工作,但不太理想的选择是使用loginview控件,可以显示基于角色的控件。这可能是最快(但最不灵活/高性能)的选项。您可以在这里找到指南:http://weblogs.asp.net/sukumarraju/archive/2010/07/28/role-based-authorization-using-loginview-control.aspx

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....