我可以在没有向导结构的情况下使用PasswordRecovery Control ASP.NET(成员身份)吗?没有成功



我在我的ASP.NET WebForms应用程序(C#(中使用PasswordRecovery控件,现在的问题是,当我们使用PasswordRecovery控件时,我们被迫使用向导控件,这意味着,如果用户正确输入用户名,它将隐藏文本框并显示成功消息(或您在SuccessTemplate中输入的任何内容(。

现在,问题是,当未经授权的用户试图访问应用程序时,他们可以尝试此控件从应用程序中获取实际用户名(安全风险(。因此,如果他们尝试错误的用户名,他们将得到">UserNameFailureText";如果他们将输入正确的用户名,他们将看到下一个模板(SuccessTemplate(,该模板将显示一条成功消息(通过这种方式,他们可以得到输入的用户名在系统中是否可用(,所以我想删除向导结构,在所有情况下,带有用户名的文本框都将留在屏幕上,无论用户输入什么,他都会看到一条通用消息";如果您输入了正确的用户名,您将收到一封电子邮件";就像那样。

如果有人知道这是否可能在PasswordRecovery控件中,或者我应该建立一个自定义页面?

PS: 我已尝试从页面中删除SuccessTemplate,它将自动采用默认的成功模板。

我不明白为什么不能从头开始创建页面?该文本框所要做的就是检查用户是否存在,向他们发送电子邮件,并显示您的消息。因此,使用内置模板的理由并不多。

因此,一个简单的按钮重新设置密码可以运行一些代码,发送重新设置的电子邮件,并设置一个标签或文本框,甚至一些"div";as visible=true以显示您的消息。你没有提到或注意到你正在使用的身份验证提供商,但考虑到内置的模板,这表明FBA,因此驱动网站和保存用户+密码的表应该完全可用于你的代码。

另一方面,您可能需要添加某种密码重新设置表,比如包括GUID生成的ID和日期时间。这样,你在电子邮件中发送的链接是特定于一个用户的,并且在该链接过期之前有一段有限的时间。

或者我想电子邮件中的链接只是将他们引导到新的密码页面,但我倾向于输入一个GUID,该GUID是根据新的重新设置表检查的。有了guid,当他们点击他们的电子邮件链接时,你可以显示他们的名字,并且只提示输入新密码。电子邮件链接只是将GUID作为一个参数,然后从重新设置表中提取这一行,以了解谁将重新设置密码。

相关内容

最新更新