当前位置:  开发笔记 > 编程语言 > 正文

表单Auth-pwd恢复 - 我宁愿用户在网络上重置它而不发送电子邮件

如何解决《表单Auth-pwd恢复-我宁愿用户在网络上重置它而不发送电子邮件》经验,为你挑选了1个好方法。

问题1 - 我想让用户只在没有电子邮件和生成密码的情况下重置密码.用户通过自定义表单对自己的内部数据库进行验证.然后,我想提示他们输入用户名和安全性q&a.我不知道如何做安全QA所以我决定自定义密码恢复控制.我不希望它发送带有新密码的电子邮件.相反,如果他们获得了用户名和问题,我想将它们发送到密码重置页面.

有没有办法向他们询问安全问题,并通过编写自定义代码或使用预构建组件进行比较.此外,如何重置密码后如何设置密码?

问题2-我正在处理'忘记用户名'.它将首先验证我们的数据库.根据他们输入的内容,我将能够匹配并在表单身份验证数据库中找到用户名和用户ID.我想问他们安全问题,但不知道如何根据他们输入的内容创建哈希来比较用户的aspnet数据库中的内容.有没有办法做到这一点?

谢谢!!!



1> JC...:

如果您使用的是asp.net表单身份验证,则它已经为用户提供了使用安全问题重置密码的机制.这可以在Web.config中配置,并与密码恢复控件一起使用,这是ASP.net登录控件的一部分.

在您的成员资格提供程序部分下的web.config中设置:

requiresQuestionAndAnswer - 设置为true时,将需要问题视图来检索或重置用户的密码.设置为false时,不会向用户显示"问题"视图.

这里使用密码恢复控件是示例代码:

  
  
                

Forgot Password

Hello
Please answer your password question :


有关使用ASP.net登录控件的更多信息,请访问http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/login/default.aspx

至于不发送电子邮件,您可以通过在密码恢复控件中添加OnSendingMail ="CancelEmail"来取消电子邮件,然后添加如下所示的代码,然后在屏幕上显示新的重置密码.

Sub CancelEmail(ByVal sender As Object, ByVal e As MailMessageEventArgs)
        e.Cancel = True
End Sub

希望有所帮助!

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有