本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址  www.cnblogs.com/tdws

   相信了解了MS Identity认证体系的一定知道UserManager的作用,他是整个体系中的调度者,他定义了一套用户行为来帮助我们管理用户信息,角色信息,处理密码等。而其实现则在UserStore当中,我们可以实现其为我们定义的比如IUserStore,IUserPasswordStore,IRoleStore等等. 我们可以基于一整套用户行为,自定义自己的用户信息和数据结构以及数据存储。那么关于Password的Hasher,MS依然为我们提供了完整的行为定义,也由UserManager来调度。比如

1 UserManager.PasswordHasher.HashPassword(password)
PasswordHasher在UserManager接口中是这样定义的:
万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

我原本对其默认实现是没有兴趣的,出于独立多个应用的登陆认证的目的,所以需要一个独立的用户认证项目来作为认证服务,其仅生产token,认证成功后,用户的HTTP Request Header的Authorization带着 token来访问应用服务器上的各种资源。

就是因为这样的原因,在多个应用的密码认证上出现了这样一个问题:

比如应用A采用了实现IPasswordHasher来自定义加密方式——MD5+salt的形式,而应用B则采用了Identity默认的Pa

网友评论