代替基于角色的授权,我需要基于用户的授权。例如,我的项目中有10个模块,当我添加用户时,我可以授予用户权限,因为他们可以访问所有模块。我可以看到有关基于角色的授权的可能教程。是否有任何基于用户的授权?
开箱即用,没有明确的内容,但是有了其他所有功能,您就可以做您想要的事情。
如果您具有这样的业务逻辑或数据库概念:
表模块(ID,名称,ModuleCodeName等...)表用户(ID,名称等)表UserAllowedTouseModule(UserId,ModuleId,CreatedOn,ValidFromDateTime,ValidToDateTime等...
几种方法:
每个控制器/区域,实现或使用抽象的baseController类,并使用接收ModuleCodeName的构造函数(值可以来自字符串,枚举等。)。然后,您将获得一个验证或以下类型:
等。我想你明白了。
对于这种类似的逻辑,请查看以下问题/答案:MVC - Redirect inside the Constructor
如果我正确理解了您的问题,这很简单
AuthorizeAttribute.Users Property
获取或设置有权访问控制器或操作方法的用户。
示例:
[Authorize(Users="Alice,Bob")]
public class RestrictedContentController : Controller
{
. . .
}