根据MVC3中的权限显示链接

时间:2011-07-13 04:32:05

标签: asp.net asp.net-mvc security asp.net-mvc-3

我正在研究MVC 3应用程序,它包含不同的链接,我想根据角色或权限显示链接。如果链接A是管理员链接A不应该对会员权利用户可见。

如何在MVC中实现这个功能?

由于

2 个答案:

答案 0 :(得分:3)

@if (User.IsInRole("Administrator")) {
   @Html.ActionLink("Administration", "", "Admin")
}

答案 1 :(得分:1)

如果你没有使用asp会员资格,你可以这样做,假设你可以通过使用用户名获得角色,并且角色包含在模型中:

@{
   UserContext userDb = new UserContext();
   var user = userDb.UserModels.FirstOrDefault(x => x.Username.Equals(User.Identity.Name));

   if(user.Role == "Admin")
   {
      @ActionLink("Link's Name","SomeAction", "SomeController");
   }
}

原始样本,但如果你正在寻找。