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