【问题标题】:asp.net membership custom change of passwords by users and adminsasp.net 会员自定义密码由用户和管理员更改
【发布时间】:2011-09-09 11:20:13
【问题描述】:

我仍在搜索 StackOverFlow 以及内胎,但没有找到我需要做的示例。

  1. 如果用户忘记了密码并且他们正确回答了提醒问题,则会向用户显示两个用于输入新密码的表单字段;不通过电子邮件发送或显示随机生成的密码。

  2. 如果用户致电支持中心,管理员可以更改密码、提醒问题和答案。

谢谢,

詹姆斯

【问题讨论】:

    标签: asp.net passwords membership


    【解决方案1】:

    只需使用此代码:

     var user = Membership.GetUser(username);
     user.ChangePassword(user.ResetPassword(), newPassword);
    

    这只是先重置密码,然后更改为新密码,不需要知道重置的中间密码

    【讨论】:

    • 好的。我坚持的部分是使用密码恢复向导,我是否使用 PasswordRecovery 的“OnSendingMail”(不发送电子邮件)来显示新密码的两个输入字段,当提交时调用一个方法来执行您所说的操作?
    • 是的,使用SendingMail 事件可以阻止邮件发送。这是因为MailMessageEventArgs(假设e)有一个名为Cancel的属性,您可以通过在事件处理程序中设置e.Cancel = true;来取消发送邮件。
    • 正确,我明白。我想知道这是否是用户提交答案并且匹配后的位置,例如调用一个面板来显示要提交的新密码表单。
    • 很抱歉我没有理解你的问题
    • 我的意思是这样的情况: 1. 用户进入重置页面。重置页面正在使用密码恢复控件。 2. 用户完成输入用户名,然后输入问题的答案(他们在注册帐户时创建的)的步骤。 3. 当用户提交答案时,如果答案正确,密码恢复控件将显示一个面板。我尝试使用 SendingMail 事件处理程序取消发送带有代码的电子邮件以使面板可见。这不会发生。我看到一条关于需要“发件人”电子邮件地址的错误消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2021-10-18
    • 2013-03-09
    • 2017-01-04
    • 2012-08-24
    • 1970-01-01
    相关资源
    最近更新 更多