ASP.NET Identity 使用TIP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET Identity 使用TIP 相关的知识,希望对你有一定的参考价值。
1.ASP.NET Identity 适用所有类型的asp.net程序 ASP.NET MVC, Web Forms, Web Pages, Web API, and SignalR。
2.非常方便的扩展用户数据字段。只需一行代码
设置好你的数据库连接信息:
修改context的名称:
打开试图-》其他窗口-》程序包管理控制台,运行 “codefirst” 3部曲:
添加的数据列乖乖的在这躺着了:
需要注意的是,birthday是datetime的数据类型会出现这个问题
解决方法就是每次都给这个birthday赋值,或者把这个字段设置成可空类型。下面就是给birthday生日赋值了
3.几种获取用户信息的方法:
控制器
视图
结果
4.登陆和注册
总之是有个叫ApplicationSignInManager的东西,获取方式如下,至于为什么要这样获取,别操那么多心先。OWIN是啥?就是OWIN呗!管那么多干嘛!
HttpContext.GetOwinContext().Get<ApplicationSignInManager >();
然后:基本套路,一个方法一定有同步和异步2个方法,你看着用!
注册完成后一般的套路:(这里注册完成顺便帮忙登陆了)
登陆也是一样的套路:注意有几个结果,是什么玩意之后再说。反正这个注册登录基本就这样,这需求已经满足大部分破网站了。
5.邮件确认激活的功能
AccountController中,去掉如下的注释:
原有的注册完成后自动登陆的代码注释掉,因为有了激活的机制嘛!
在这个文件中补全email service的代码,目前是空方法,smtp服务器和用户名密码自行搞定!
注册用户后数据库,这个字段还是false
妥妥的收到一封邮件,至于这个token怎么生成的,不要在意这些细节,能用就行。
到这一步数据库中是否验证已经变化了
至于账号激活能干嘛,没激活不能干嘛,您自己玩弄自己的业务需求。
6.忘记密码
在login的视图中去掉这部分的注释
account 控制器中这段代码注释去掉
点击忘记密码
收到邮件,点击邮件中的链接,调到这个页面,设置后就ok了
以上是关于ASP.NET Identity 使用TIP 的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Identity - 将用户 ID 主键默认类型从字符串更改为 int 以及使用自定义表名时出错
ASP.Net Core Identity - 管理其他用户
我们可以扩展 HttpContext.User.Identity 以在 asp.net 中存储更多数据吗?
OUTPUT INSERTED Id/SCOPE_IDENTITY() 在 C# (ASP.NET Core Razor Pages) SQL 查询中返回 null,在 SQL Server Mana