1.总纲
identity是微软的一款用户认证授权插件,比较好用,但是配置比较复杂。使用流程大致如下:
1.nuget安装 identity插件及其以来的插件
2.修改web.config指定identity所使用的数据库和owin启动配置类
3.配置继承自IdentityDbContext的数据库上下文,配置owin的启动类
4.用户注册包括 配置继承自IdentityUser的用户类,该类提供用户的基本信息属性(id,username,password,email。。。)。配置继承自UserManager的用户管理类,该负责用户信息的增删查改
5.用的授权验证,需要除了需要上面类,还需要登陆管理类,IAuthenticationManager
2.具体步骤
1.安装相关包
通过nuget包管理器,安装
Microsoft.AspNet.Identity.EntityFramework
Microsoft.AspNet.Identity.OWIN
Microsoft.Owin.Host.SystemWeb
安装完成后就可以使用identity
2.配置web.config
首先是添加数据库连接字符串,不能有换行
其次是owin的启动配置类
value是namespace.classname
3.配置数据库上下文和owin类
identity的数据库是用的是codefirst模式,所以直接声明数据库上下文即可
其次是设置owin配置类
该配置会将401拦截并导航至account/login
4.注册相关
添加用户管理类和用户
在控制器中声明用户管理器
在控制器中实现简单用户注册(view代码省略)
到此,即可在IdentityDb数据库中的dbo.AspNetUsers表中查看到新注册的用户
5.验证相关
首先在控制器中声明验证器
其次在控制器中处理登陆
默认使用cookie,完成后即可在浏览器查看到cookie。