向成员提供者添加密码要求

时间:2010-09-08 19:27:57

标签: asp.net asp.net-membership membership membership-provider sqlmembershipprovider

我是否需要建立自定义会员提供商或是否有其他方式?

我有一个使用ASP.NET Forms Authentication和Microsoft SQL Membership Provider的项目。该网站已完成。我到处都使用这个提供商。 (注册,登录,忘记密码等...)

到目前为止,我的网站用户不需要复杂的密码。用户的密码实际上只是针脚。用户可以在过去选择任何密码。我对这个网站几乎没有任何限制,因为没有数据是私人或个人的。

但是我收到了新的要求。

以下是新密码要求:

  • 密码长度必须至少为8个字符。
  • 必须使用以下4种字符中的3种来创建密码:   
          
    • 大写
    •     
    • 小写
    •     
    • 数字
    •     
    • 标点符号
    •    
  • 请勿在密码中使用您的姓名或用户名。
  • 以后不要再使用旧密码。
  • 密码必须至少每60天更改一次。
  • 密码不得包含您的用户名或全名的任何部分。
  • 密码历史记录保留将禁止使用最近24个密码。
  • 用户在任何6天内只能更改一次密码。


我意识到我将不得不修改以下所有页面:注册,登录,忘记密码等...幸运的是我很久以前就停止使用默认控件。

我很感激你的想法。

我的第一个想法是我需要编写自定义成员资格提供程序。 我不知道如何让标准提供商完成大部分工作。我可以写代码来做。

  • 我是否修改了aspnet_membership表?
  • 我应该添加自己的表aspnet_something吗?
  • 用户个人资料表可以用于解决此问题吗?
  • 我是否需要自己的MembershipUser课程?


感谢。

1 个答案:

答案 0 :(得分:0)

您需要收听ValidatingPassword事件。

有关如何执行此操作的示例代码,请参阅ASP.NET Membership ChangePassword control - Need to check for previous password