我能够隐藏某些菜单项在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>
解决方法
您可以将菜单项绑定到站点地图,并使用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
另一个工作,但不太理想的选择是使用loginview控件,可以显示基于角色的控件。这可能是最快(但最不灵活/高性能)的选项。您可以在这里找到指南:http://weblogs.asp.net/sukumarraju/archive/2010/07/28/role-based-authorization-using-loginview-control.aspx