角色管理的设计模式理念

时间:2013-05-26 00:21:13

标签: asp.net-mvc entity-framework design-patterns

我开发了一个Web项目。我使用Asp.Net MVC,Entity Framework。我将在管理面板中为用户提供角色。 Usrs根据他们的角色制定流程。我想为这个项目使用设计模式。我将使用哪种类型的模式进行此角色授权?任何的想法? 提前谢谢。

1 个答案:

答案 0 :(得分:4)

实现角色管理的最简单方法是使用ASP.NET成员资格提供程序。

然后,您有两种方法可以根据角色保护操作。

如果要确保只有某些角色可以执行操作方法,您可以使用Authorize属性并定义允许的角色列表:

[Authorize(Roles = "Admin, Manager")]
public ActionResult AdministratorsOnly()
{
   return View();
}

如果您需要隐藏视图上的功能,可以使用User.IsInRole()方法检查当前登录的用户是否具有该角色:

if(User.IsInRole("Admin"))
{
    <a href="/user/delete">Delete account</a>
}