练习+博客,量化自己的进步!
用户登录、权限校验是一个系统必要的东西,以前的项目都是使用自己搭建的用户角色系统,使用 Filter 校验。这次学习使用 .net core 内置的身份验证。
.net core 的身份验证有 Cookie 身份验证和持有者身份令牌验证,这里做的 web 项目就用基于浏览器的 Cookie 身份验证。
继承 .net core 身份验证有两个核心类:
UserManager< IdentityUer >
操作用户的类, IdentityUser 是拓展必须继承的用户基础实体类。
SignInManager< IdentityUser >
用来身份认证的类。
1.自定义一个用户实体类继承 IdentityUser
public class ApplicationUser: IdentityUser // IdentityUser 必须引用 Microsoft.AspNetCore.Identity;
{
public ApplicationUser()
{
Claims = new List<IdentityUserClaim<string>>();
Logins = new List<IdentityUserLogin<string>>();
Tokens = new List<IdentityUserToken<string>>();
UserRoles = new List<IdentityUserRole<string>>();
}
// 在 IdentityUser 的基础上拓展两个字段属性。
public string NickName { get; set;