ASP.NET Membership - Change password without asking the old

Πρόσφατα χρειάστηκε να υλοποιήσω ένα σύστημα όπου ο χρήστης άλλαζε τον password του μετά το 1ο login.

Όμως η ChangePassword μέθοδος του MembershipUser απαιτεί 2 arguments. Το παλαιό password του χρήστη και το νέο. Από τη στιγμή που ο χρήστης είχε μόλις κάνει login δεν το θεώρησα λογικό να ζητάω πάλι το παλαιό password. Έπρεπε λοιπόν να κάνω την αλλαγή χωρίς να το εισάγει ο χρήστης. Στη βάση όμως ήταν αποθηκευμένο με hashed μορφη οπότε ούτε από εκεί μπορούσα να το ανακτήσω.changepass

Και η λύση στο πρόβλημα ήταν:

image

  1. Reset the password
  2. Αποθήκευση του generated password σε μία τοπική μεταβλητή
  3. Κληση της MembershipUser.ChangePassword χρησιμοποιώντας τον generated password ως τον παλαιό!

Κάνει ένα query επιπλέον στη βάση (για να αλλάξει το password σε κάτι generated) αλλά λειτουργεί μια χαρα! Σε περίπτωση που το password ήταν σε Clear ή Encrypted μορφή θα μπορούσα να το ανακτήσω από τη βάση.

Share/Bookmark
Published Δευτέρα, 28 Σεπτεμβρίου 2009 6:38 πμ by djsolid

Comments

# Twitter Trackbacks for ASP.NET Membership - Change password without asking the old - ASP.net [studentguru.gr] on Topsy.com

Pingback from  Twitter Trackbacks for                 ASP.NET Membership - Change password without asking the old - ASP.net         [studentguru.gr]        on Topsy.com

# re: ASP.NET Membership - Change password without asking the old

αν ο membership provider επιτρέπει να γίνει reset το password

Πέμπτη, 1 Οκτωβρίου 2009 12:30 μμ by mitsbits

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Submit