ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇 (4)

  

ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇

  以上已经解释了最初验证码的生成和验证的问题,所以对于EmailTokenProvider和PhoneNumberTokenProvider只是对熵的生成、对Provider的有效性(是否存在Email或电话号码)、通知方式进行了修改,下面是PhoneNumberTokenProvider相关代码:

  

ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇

  

ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇

  

ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇

小结  

  本章主要是使用代码的形式实现了ASP.NET中的第三方验证和双因子验证,文中的代码都来自ASP.NET MVC的模板,所以文中仅仅是对关键的代码进行了介绍,一些细节的内容可参考完整代码。其中第三方验证使用的是微软账户,如果有环境支持可以尝试国内的微信、QQ等身份验证。
  另外在文章最后对验证码的生成和校验代码进行了分析,知道了它是基于Hash算法的信息加密、验证的机制来实现的。
ASP.NET MVC基于Identity提供了非常完善、强大的用户管理和身份验证功能,除了以上介绍的以外还有账户锁定、注册邮箱或短信验证功能,基本上已经涵盖了现在开发常用的功能,但这些功能被一个模板实现了,所以ASP.NET强大吗?

参考:

  https://www.zhihu.com/question/22178202
  https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/external-authentication-services
  https://www.benday.com/2014/02/25/walkthrough-asp-net-mvc-identity-with-microsoft-account-authentication/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywsjx.html