我需要进行基于用户的授权,而不是基于角色的授权。例如,我的项目中有10个模块,当我添加用户时,我可以向用户授予权限,他们可以访问所有模块。我可以看到基于角色的授权的教程。基于用户的授权有什么用吗?
答案 0 :(得分:0)
开箱即用,并没有为此做出明确的准备,但除了其他一切,你可以做你想要的。
如果你有像这样的业务逻辑或数据库概念:
表模块(Id,Name,ModuleCodeName等) 表用户(ID,名称等) 表UserAllowedTouseModule(UserId,ModuleId,CreatedOn,ValidFromDateTime,ValidToDateTime等......
几种方法:
每个控制器/区域,实现或使用absctract baseController类,并使用接收ModuleCodeName的构造函数(值可以来自字符串,枚举等...)。 然后你有一个验证或以下类型:
等......我想你明白了。
对于这个类似的逻辑,请看看以下问题/答案: MVC - Redirect inside the Constructor
答案 1 :(得分:0)
如果我理解你的问题,这很简单
<强> AuthorizeAttribute.Users Property 强>
获取或设置有权访问控制器或操作方法的用户。
示例:
[Authorize(Users="Alice,Bob")]
public class RestrictedContentController : Controller
{
. . .
}