繁体   English   中英

Asp.net 5 MVC 6自定义身份验证

[英]Asp.net 5 MVC 6 Custom authentication

我花了两个星期的时间寻找解决方案,使我可以进行基于权限的身份验证。 我有这样的数据库架构

User <- Role <--> Permissions

用户只有一个角色,该角色使用多对多关系与权限相关联

我已经为这些实体编写了模型。

我从Asp.Net Identity开始,但是它的默认架构不是为基于权限的身份验证而设计的。

我也尝试使用Cookie中间件,但无法覆盖ClaimsPrincipal并使用我的用户帐户模型

我目前唯一能做的就是从一开始就编写一个使用会话的简单身份验证库,但是由于安全性问题,这是一个坏主意

新版本的Asp.Net mvc的文档尚未完成,但是也许有人知道如何帮助我? :/

有两种选择。

  1. 您将权限映射到声明。 角色实际上只是您场景中的一个分组,并非您会授权的角色。 因此,在创建用户声明主体时,您将为每个权限添加声明,然后在授权策略中对其进行验证。
  2. 您创建角色声明,然后在授权策略中进入数据库,并从中提取权限,查看角色是否满足策略。 授权需求处理程序可以采用DI注册的类 ,因此您将在应用程序启动时注册PermissionsProvider,然后在处理程序的构造函数中对其进行引用。

您可以利用cookie身份验证系统身份使用,而不必自己动手,免费获得签名验证。 您所需要做的,至少是实现登录,注销和禁止页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM