c# - Password Recovery without sending password via email -


Then, I'm playing with asp: PasswordRecovery and I know that in fact I Do not like it, for several reasons:

1) Alice's password can also be reset without access to Alice's email. A security question for password reset reduces it, but does not really satisfy me.

2) Alice's new password is sent to him in Clarext. I would like to send him a special link to my page (for example, a page like example.com/recovery.aspx?P=lfaj0831uefjc), which will allow him to change his password.

I think I can do this by creating some type of table of expiry of password recovery pages and asking those pages to reset those pages. Either way these pages can also change user passwords behind the scenes (such as resetting the manual manually and then using the password of the new password to change the password, since the old password can not be changed without a password) . I am sure that others have come before this problem, and this kind of solution kills me as a little hackney, is there a better way of doing this?

An ideal solution does not violate the encapsulation by accessing the database directly, but rather uses existing stored procedures in the database ... though it may not be possible. I'm currently implementing an open source source at Spring + Spring Security, and here's how I was going to be <

  • A temporary "reset code" is generated and linked to the account, and emails the user embedded in the hyperlink.
  • Upon receiving the email, the user clicks on the link that takes them to a page to enter their new password.
  • Before accepting a new password, the reset code (from the link) is checked against the cached code, to ensure that it is correct and its timeout is not expired.
  • T avoids sending a password (in plain) in an email message. And it also saves one person's password against a person who resets the password to a nuisance, because the link is used only after resetting the link.

    But it relies on user's email account, and is not going to be transit email. For some applications, this is probably an unacceptable risk.

    The second piece of the equation is that you have to be really careful about changing the user's registered email addresses. At a very least, the user must enter his current password with the request to change the address ... to avoid hacking through inadvertent login sessions.


    Comments

    Popular posts from this blog

    c++ - Linux and clipboard -

    What is expire header and how to achive them in ASP.NET and PHP? -

    sql server - How can I determine which of my SQL 2005 statistics are unused? -