微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以在没有向导结构的情况下使用 PasswordRecovery Control ASP.NET (Membership) 吗?没有 SuccessTemplate 和问题模板?

如何解决我可以在没有向导结构的情况下使用 PasswordRecovery Control ASP.NET (Membership) 吗?没有 SuccessTemplate 和问题模板?

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

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

如果有人知道 PasswordRecovery 控件是否可行,或者我是否应该构建自定义页面

PS: 我已经尝试从页面删除 Successtemplate,它会自动采用认的成功模板。

解决方法

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

因此,一个简单的按钮重置密码可以运行一些代码,发送重置的电子邮件,并设置标签或文本框,甚至一些“div”作为visible = true来显示您的消息。您没有提及或注意您正在使用的身份验证提供程序 - 但考虑到内置模板 - 那么这建议使用 FBA,因此驱动站点并保存用户 + 密码的表应该完全可用于您的代码背后。>

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

或者我想电子邮件中的链接只是将他们定向到新密码页面 - 但我倾向于扔进一个 GUID,该 GUID 会根据新的重置表进行检查。使用 guid,然后当他们单击他们的电子邮件链接时,您可以显示他们的姓名,并且只提示输入新密码。电子邮件链接仅包含该 GUID 作为参数,您可以从重置表中提取该行以了解谁将重置其密码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?