.net-core - 如何在 .NET Core Identity 中使用多个密码策略?
问题描述
我们将用户分组。每个组都有不同的密码策略。我想要实现的是在他/她想要更改密码之前动态加载与特定用户相关的密码策略,然后使用此策略验证新密码。
我知道我可以在启动类中为每个应用程序全局设置默认密码策略:
services.Configure<IdentityOptions>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequiredLength = 5;
options.Password.RequireLowercase = true;
options.Password.RequireNonLetterOrDigit = true;
options.Password.RequireUppercase = false;
});
它工作得很好,但我们希望在运行时加载基于用户的策略。
我现在想到的唯一解决方案是创建我自己的 IPasswordValidator 实现,我可以简单地加载我的密码策略并自己做所有事情(这意味着如果需要,检查新密码中是否有小写字母附加到该用户的政策等)。但在我开始实施之前,我想知道是否有更漂亮的解决方案。
理想情况下,我想要实现的是使用动态生成的 PasswordOptions 对象来验证用户的密码。
解决方案
推荐阅读
- jquery - 如何通过 ajax 将文件发送到 Django 服务器?
- android - 记录glsurfaceview
- php - DATATABLE 插件 仅获取动态数据中的第一行
- kubernetes - 使用 kubernetes 中的 configmaps 替换容器中的属性文件
- python - 动态规划记忆
- java - 如果两个变量等于第三个变量,我如何编写一个返回数学运算符的函数?
- html - 我怎样才能降低导航栏的高度
- html - 如何在模板引擎中引用 HTML 元标记?
- javascript - 谷歌浏览器扩展程序可以自行删除,如何删除?
- javascript - JQuery:OnClick 添加新的变量堆栈而不是覆盖值