我想在我正在构建的Web应用程序中实现基于角色的授权。我想这样做的方式是在我的数据库中创建3个表格,如下所示:使用.NET MVC实现基于角色的授权5
1. Roles
2. UserRoles (many to many table)
3. Users
之后,每个用户都会分配给他一个角色。现在...我的问题是,我如何允许或禁止访问我的.NET MVC应用程序中的特定视图/控制器。我已经在这个偶然:
[Authorize(Roles = "HrAdmin, CanEnterPayroll")]
[HttpPost]
public ActionResult EnterPayroll(string id)
{
// . . . Enter some payroll . . .
}
的授权属性似乎限制了特定的控制器/行动,以特定的角色......但是,如果我读从表中的UserRole用户角色就像我的情况?我的应用程序如何知道用户对系统有什么作用?
有人可以帮我解决这个问题吗?
你检出了[ASP.NET身份](https://www.asp.net/identity)吗? – SeM
您需要在您的“Login()”方法中添加您的角色声明。 – SeM
以上内容已经在MVC5内置的Identity框架中实现。您无需担心自己创建这些表,只需修改默认连接字符串并将其指向服务器即可。 – uk2k05