向成员资格提供程序添加密码要求

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。

这篇关于向成员资格提供程序添加密码要求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
how do i pass parameters to aspnet reportviewer(如何将参数传递给aspnet report查看器)
Bind multiple parameters from route and body to a model in ASP.NET Core(在ASP.NET Core中将路由和主体中的多个参数绑定到一个模型)
Custom model binding in AspNet Core WebApi?(AspNet Core WebApi中的自定义模型绑定?)
How to minify in .net core mvc view?(如何在.Net核心MVC视图中缩小?)