gpt4 book ai didi

asp.net-core - ASP.net Core 2.0 的密码历史记录

转载 作者:行者123 更新时间:2023-12-05 04:09:23 25 4
gpt4 key购买 nike

我的一个要求是检查过去一年中最后 5 个密码历史条目,以确保客户没有重复使用密码。

我已经在我的用户实体上创建了一个密码实体和密码集合。

我需要创建一个继承自 UserManager<TUser> 的自定义用户管理器并覆盖添加/更新密码以填充历史记录的方法。我还必须创建一个继承 PasswordValidator<TUser> 的自定义密码验证器并覆盖 ValidateAsync方法。

如何在 .Net Core 2.0 中注册这些自定义实现?你必须更换 services.AddIdentity帮助所有独立的依赖注入(inject)调用?或者有没有办法只覆盖 UserManagerPasswordValidator碎片?

最佳答案

您只需在服务之上注册您的服务,即可将默认注册的服务替换为 AddIdentity() 调用。依赖项注入(inject)容器将保留所有 注册,但当服务请求实例时,它只会使用某个类型的最新注册。因此,您只需要确保以完全相同的方式注册您的服务,即注册原始服务。所以有疑问,check the implementation查看哪些服务如何注册。

在你的情况下,你可能想做这样的事情:

services.AddIdentity<MyUser, MyRole>();
services.AddScoped<UserManager<MyUser>, CustomUserManager>();
services.AddScoped<IPasswordValidator<MyUser>, CustomPasswordValidator>();

关于asp.net-core - ASP.net Core 2.0 的密码历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46081997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com