gpt4 book ai didi

c# - 如何在 ASP.Net 中根据角色隐藏菜单项

转载 作者:行者123 更新时间:2023-11-30 12:48:40 25 4
gpt4 key购买 nike

如果用户不在管理员角色中,我试图从菜单项中隐藏一个项目。这是我在我的网站主人后面的代码中使用的代码,但代码没有隐藏我试图隐藏它的管理页面。这是母版页的 HTML 标记:

 <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Admin/Authors.aspx" Text="Admin" />
<asp:MenuItem NavigateUrl="~/Users/KCA_Summary.aspx" Text="KCA Summary" />
<asp:MenuItem NavigateUrl="~/Users/Details.aspx" Text="KCA Details" />

</Items>
</asp:Menu>

下面是代码:

 Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not Roles.IsUserInRole("Admin") Then
Dim menuItems As MenuItemCollection = NavigationMenu.Items
Dim adminItem As New MenuItem()
For Each menuItem As MenuItem In menuItems
If menuItem.Text = "Admin" Then
adminItem = menuItem
End If
Next
menuItems.Remove(adminItem)
End If
End Sub

最佳答案

可能最简单的方法是使用 SiteMapProvider配置为 SecurityTrimmingEnabled = true。

链接的 MSDN 文章引用了大量“操作方法”文章,可帮助您入门。

关于c# - 如何在 ASP.Net 中根据角色隐藏菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13548288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com