Add Password Requirements to Membership Provider(向成员资格提供程序添加密码要求)
问题描述
我是需要创建自定义成员资格提供程序,还是有其他方法?
我有一个使用ASP.NET窗体身份验证和Microsoft SQL成员资格提供程序的项目。网站已经完成了。我在任何地方都使用这个供应商。(注册、登录、忘记密码等...)
到目前为止,我的网站用户还不需要复杂的密码。用户的密码实际上只是PIN。在过去,用户可以选择任何密码。我对这个网站几乎没有任何限制,因为这些数据都不是私人或个人的。
但是,我收到了新的要求。
以下是新密码要求:
- 密码长度必须至少为8个字符。
- 密码必须使用以下4种字符类型中的3种创建:
- 大写
- 小写
- 数字
- 标点符号
- 请勿在密码中使用您的姓名或用户ID。
- 以后不要再使用旧密码。
- 密码必须至少每隔60天更改一次。
- 密码不能包含您的用户ID或全名的任何部分。
- 保留密码历史记录将禁止使用最后24个密码。
- 用户在任何6天内只能更改密码一次。
我意识到我将不得不修改以下所有页面:注册,登录,忘记密码等…幸运的是,我很久以前就不再使用默认控件了。
感谢您的想法。
我的第一个想法是我需要编写一个Custom成员提供程序。
我不知道如何让标准提供商来完成大部分工作。我可以写代码来做。
- 我是否要修改aspnet_Membership表?
- 我是否应该添加我自己的表aspnet_thing?
- 是否可以将用户配置文件表用于此问题?
- 我是否需要自己的Membership User类?
谢谢。
推荐答案
您需要侦听ValidatingPassword事件。
有关如何执行此操作的示例代码,请参阅ASP.NET Membership ChangePassword control - Need to check for previous password。
这篇关于向成员资格提供程序添加密码要求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:向成员资格提供程序添加密码要求
基础教程推荐
- 将 XML 转换为通用列表 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- rabbitmq 的 REST API 2022-01-01
- 如何激活MC67中的红灯 2022-01-01