在ASP.Net MVC视图中显示/隐藏链接

Ben*_*Ben 7 permissions url asp.net-mvc views

我正试图弄清楚如何根据用户的角色显示/隐藏用户的链接.我知道如何为动作方法设置authorize属性,但是如果用户在我的角色数据库中说管理员或管理员,我就无法在视图中显示链接show hide.

有人可以指向我的任何好文章或代码示例吗?

Cha*_*ino 11

在你看来,你可以引用IPrincipal通过用户System.Web.Mvc.ViewPageUser财产.

例如,在您的视图中,您可以拥有以下内容:

<% if (User.IsInRole("Admin")) { %>
    <%= Html.ActionLink("Admin only link", "Edit", "Users") %>
<% } %>

<% if (User.IsInRole("Manager") || User.IsInRole("Admin")) { %>
    <%= Html.ActionLink("Manager & Admin only link", "Edit", "Product") %>
<% } %>
Run Code Online (Sandbox Code Playgroud)

HTHs,
查尔斯

  • 使用`HttpContext.Current.user`或`ViewContext.HttpContext.User` - 应该做的伎俩:-) (2认同)