默认的身份认证好授权系统
UserManager用来操作用户的类,
Singi用来身份认证的
添加AccountController
先声明SignInManager和UserManager这两个服务
快捷键Ctrl+.
两个都需要分别进行Ctrl+.快速的生成
创建登陆的Action Login
建立View
创建LoginViewModel
主要是用户名和密码两个字段
登陆的逻辑
注册的逻辑
退出的逻辑
创建regiser的视图页面
在_Lauout里面添加了注册和登陆的链接
点击注册发现报错了。没有注册服务
注册服务
这里按照官方文档来就可以了
这里么有ApplicationDbContext
这里修改为IdentityContext
先进行数据迁移
报错,项目里面多余一个DbContext。一个是自己的DbConext 一个是Identity的DbContext
所以需要指定具体的DbContect
注册服务的时候,指明迁移的类库名称
再次尝试成功
上面只是配置了DbConext,还需要注册IdentityUser的服务
前面多加了一个叹号
密码严格要求了
参考官方文档:把这块复制过去进行修改
判断用户登陆成功后就不再显示,注册和登陆的按钮,在View页面注册ItentityUser
运行页面并不好用,没有使用中间件
登陆成功后
授权
添加一个学生,要求只有登陆的用户才可以进去添加
授权使用Authorize这个属性,这样就只有登陆的用户才可以访问这个Create页面
这个标签可以作用于Controller也可以作用于action,这里我们先作用于Create的两个Action就可以了
Authorize属性也可以加一些参数。。。、这里展示先不加
测试页面。
需要一个LoginPartial页面,一旦没有权限就会跳转到这个页面。这里我们先不做,
来源:oschina
链接:https://my.oschina.net/u/4396877/blog/3523507