gpt4 book ai didi

asp.net - 我可以在Asp.Net的MembershipProvider中配置ResetPassword吗?

转载 作者:行者123 更新时间:2023-12-01 22:41:18 25 4
gpt4 key购买 nike

我有一个使用默认 Sql MembershipProvider 的 C# asp.net 应用程序。我的 web.config 有一些设置可以控制我如何使用此提供程序:

enablePasswordRetrieval="false" 
enablePasswordReset="true"
requiresUniqueEmail="true"
passwordFormat="Hashed"
minRequiredPasswordLength="5"

我遇到的问题是,当人们重置密码时,ResetPassword() 方法返回的密码似乎比我想要的长,并且包含可能令人困惑的字符 (l,1,i,I, 0,O)。此外,我向用户发送一封电子邮件,其中包含纯文本消息和 HTML 消息(我使用 MailMessage 和 AlternateViews)。如果密码中包含不安全的 HTML 字符,则当电子邮件客户端呈现 HTML 文本时,密码可能会有所不同(例如 %、& 和 < 并不完全是 HTML 安全的)。

我查看了 web.config 中的“add”元素,但没有看到任何额外的配置属性,仅在 ResetPassword() 方法中包含某些字符并限制密码长度。

我可以配置 ResetPassword() 方法来限制密码长度并限制其选择的字符集吗?

现在我有一个解决方法:我调用 ResetPassword() 以确保提供的答案正确,然后使用 RandomPassword generator我从互联网上下载了一个我喜欢的密码(没有歧义字符、HTML 安全且只有 8 个字符长),然后在重置用户密码后调用 ChangePassword() 来更改用户密码。

我的解决方法似乎很笨拙,我认为最好配置 ResetPassword() 来执行我想要的操作。

谢谢~!

科罗拉多科技

最佳答案

我不相信您可以做任何事情来“配置” ResetPassword() 调用。您可以编写自己的提供程序来更改 ResetPassword() 的工作方式。

这个link描述了您似乎已经在做的相同策略....

坚持你的工作/黑客可能是最简单的方法。 :-)

但是,如果您想了解有关如何创建自己的提供商的更多信息,请查看这些链接。

http://www.asp.net/learn/videos/video-189.aspx

http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

http://www.devx.com/asp/Article/29256/0/page/3

http://www.15seconds.com/issue/050216.htm

关于asp.net - 我可以在Asp.Net的MembershipProvider中配置ResetPassword吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567854/

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