Odzyskaj / Zresetuj utracone opcje hasła za pośrednictwem poczty e-mail
Pracuję nad projektem C # ASP.MVC 4, korzystając z DefaultMembershipProvider i próbuję stworzyć przyjazny dla użytkownika sposób na odzyskanie / zresetowanie utraconego hasła.
Moja pierwsza próba polegała na tym, aby użytkownik podał swoją nazwę użytkownika (która jest prawidłowym adresem e-mail), a następnie aplikacja wygeneruje losowe hasło (spełniające nasze wymagania), a następnie hasło zostanie wysłane do użytkownika.
Moim idealnym rozwiązaniem byłoby, gdy użytkownik kliknie przycisk „Zapomniałem hasła”. Zostają poproszeni o podanie nazwy użytkownika, która, jeśli zostanie podana, spowoduje wysłanie wiadomości e-mail z adresem URL (do tego adresu URL zostanie również dołączona data ważności). To rozwiązanie resetuje również hasło użytkownika wewnątrz aplikacji (przed wysłaniem wiadomości e-mail). Gdy użytkownik kliknie adres URL, zostanie automatycznie zalogowany i wysłany do formularza zmiany hasła. Czy są problemy z tym rozwiązaniem?
Dla konfiguracji mam następujące wartości:
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>