ASP.NET Identity 数据库表结构

.NET Core OAuth IdentityServer4 Token
ASP.NET Identity 简介
身份认证 IdentityServer4 
文档目录  
.NET 文档  
ASP.NET 文档  

Identity基于Cookie的身份验证方式,实际上是对一个AuthenticationTicket对象序列化加密、反序列化解密的过程,而这个AuthenticationTicket就携带了所有用户的信息,在AuthenticationTicket的定义中可以看到两个重要的对象,其中AuthenticationProperties保存了身份验证的会话信息,如过期时间、是否允许刷新等。而另一个ClaimsIdentity属性就是以声明(Claim)的方式实现的用户信息。

授权服务器中生成的RefreshToken和AuthorizationCode默认存储在内存中,如果服务重启这些数据就失效了,那么就要实现IPersistedGrantStore接口对数据存储,将数据写入到数据库或者NoSql(Redis)中。


1、基础表
application_user(表)
identity_role(表)
identity_user_claim(表)
identity_user_role(表)
identity_user_login(表)

2、NuGet 安装 

Microsoft.AspNet.Identity.EntityFramework 
Microsoft.AspNet.Identity.OWIN 
Microsoft.Owin.Host.SystemWeb

3、基础类

//用户管理基类,内建了诸如角色、用户名、密码、Emai等基础的属性
IdentityUser;

//用户管理器基类
UserManager<T>;

//用户存储器接口
IUserStore<T>;

//用户存储器
UserStore<T>;

//类似于我们熟悉的HttpContext,表示OWIN环境中的Http请求上下文对象
IOwinContext;

//提供应用程序所需中间件的设置,所有的中间件应通过接口提供的CreatePerOwinContext方法进行注册
IAppBuilder;

//密码规则类
PasswordValidator
IdentityUser         【Microsoft.AspNet.Identity.EntityFramework】
IdentityDbContext    【Microsoft.AspNet.Identity.EntityFramework】
IdentityMessage      【Microsoft.AspNet.Identity】
UserManager          【Microsoft.AspNet.Identity】
ClaimsIdentity       【System.Security.Claims】
IIdentity            【System.Security.Principal】

4、创建 User 类,命名为AppUser
继承自Microsoft.AspNet.Identity.EntityFramework 名称空间下IdentityUser,IdentityUser 提供了基本用户信息,如Email、PasswordHash、UserName、PhoneNumber、Roles等,也可以在其派生类中添加信息,代码如下:

using Microsoft.AspNet.Identity.EntityFramework;
public class AppUser:IdentityUser 
{ 
} 

IAuthorizationFilter:实现此接口执行异步授权逻辑。例如,写异步方法)。
自定义授权筛选器
AuthorizeAttribute:基于用户和角色进行授权。
AuthorizationFilterAttribute:不基于用户和角色的同步授权。
IAuthorizationFilter:实现此接口执行异步授权逻辑。步方法)。
自定义授权筛选器
AuthorizeAttribute:基于用户和角色进行授权。
AuthorizationFilterAttribute:不基于用户和角色的同步授权。
IAuthorizationFilter:实现此接口执行异步授权逻辑。步方法)。
自定义授权筛选器
AuthorizeAttribute:基于用户和角色进行授权。
AuthorizationFilterAttribute:不基于用户和角色的同步授权。
IAuthorizationFilter:实现此接口执行异步授权逻辑。步方法)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值