你的位置:首页 > ASP.net教程

[ASP.net教程]ASP.NET Identity 使用TIP (一)

1.ASP.NET Identity 适用所有类型的asp.net程序 ASP.NET MVC, Web Forms, Web Pages, Web API, and SignalR。

2.非常方便的扩展用户数据字段。只需一行代码

clip_image002_thumb15

设置好你的数据库连接信息:

clip_image004_thumb8

修改context的名称:

clip_image006_thumb4

打开试图-》其他窗口-》程序包管理控制台,运行 “codefirst”  3部曲:

clip_image008_thumb3

clip_image010_thumb1

添加的数据列乖乖的在这躺着了:

clip_image012_thumb3

需要注意的是,birthday是datetime的数据类型会出现这个问题

clip_image014_thumb1

解决方法就是每次都给这个birthday赋值,或者把这个字段设置成可空类型。下面就是给birthday生日赋值了

clip_image016_thumb1

3.几种获取用户信息的方法:

控制器

clip_image018_thumb1

视图

clip_image020_thumb1

结果

clip_image022_thumb1

4.登陆和注册

总之是有个叫ApplicationSignInManager的东西,获取方式如下,至于为什么要这样获取,别操那么多心先。OWIN是啥?就是OWIN呗!管那么多干嘛!

HttpContext.GetOwinContext().Get<ApplicationSignInManager >();

然后:基本套路,一个方法一定有同步和异步2个方法,你看着用!

clip_image024_thumb1

注册完成后一般的套路:(这里注册完成顺便帮忙登陆了)

clip_image026_thumb1

登陆也是一样的套路:注意有几个结果,是什么玩意之后再说。反正这个注册登录基本就这样,这需求已经满足大部分破网站了。

clip_image028_thumb1

5.邮件确认激活的功能

AccountController中,去掉如下的注释:

clip_image030_thumb1

原有的注册完成后自动登陆的代码注释掉,因为有了激活的机制嘛!

clip_image032_thumb1

在这个文件中补全email service的代码,目前是空方法,smtp服务器和用户名密码自行搞定!

clip_image034_thumb

clip_image036_thumb1

注册用户后数据库,这个字段还是false

clip_image038_thumb1

妥妥的收到一封邮件,至于这个token怎么生成的,不要在意这些细节,能用就行。

clip_image040_thumb1

clip_image042_thumb1

clip_image044_thumb1

到这一步数据库中是否验证已经变化了

clip_image046_thumb1

至于账号激活能干嘛,没激活不能干嘛,您自己玩弄自己的业务需求。

6.忘记密码

在login的视图中去掉这部分的注释

clip_image048_thumb1

account 控制器中这段代码注释去掉

clip_image050_thumb1

点击忘记密码

clip_image052_thumb1

收到邮件,点击邮件中的链接,调到这个页面,设置后就ok了

clip_image054_thumb1