Egyéni felelősségbiztosítási szolgáltató

A lecke előző részében létrehozták a CreateUser módszert. amelyek lehetővé tették az adatbázisban lévő felhasználók létrehozását.

Ebben a részben hozzáadjuk a hash és jelszó só létrehozásának funkcióját.

Röviden, milyen sóval és hash van szükség.

A só a véletlenszerűen generált szimbólumok egy csoportja, amelyek hozzáadódnak a jelszóhoz, és meg is szedve. A sóval együtt egy ilyen jelszó megfejtése még nehezebbé válik.

Kezdjük azzal, hogy elkészítjük a sót.

Nyisd meg a UserRepository.cs fájlt és adj hozzá egy linket a System.Security.Cryptography:

Ezután adjon hozzá egy módosítást a CreateUser-módszerhez, hogy a só az adatbázisban tárolódjon:

Most végrehajtjuk a hash előállításának módját. Adja hozzá a következő kódot a UserRepository.cs fájlhoz:

Ismét megváltoztatjuk a CreateUser módszert. hogy az adatbázisban tárolt jelszó tárolódjon. Annak érdekében, hogy a kód megfelelően működjön, a hasítást megelőzően létre kell hozni a sót, mivel a hasítófunkció sót használ.

Most végre tudja hajtani a ValidateUser implementációját.
Először hozzon létre a ValidateUser metódust a UserRepository osztályban

Most módosítsa a ValidateUser-t a MyMembershipProvider-ban

Hozzon létre egy nézetet, amely közvetlenül a felhasználó bejelentkezése után jelenik meg.

Nyissa meg a HomeController.cs fájlt, és adja hozzá a Welcome módszerét:

Kattintson a jobb gombbal a Welcome () gombra, és válassza a Hozzáadás nézet ...

Egyéni felelősségbiztosítási szolgáltató

A nézetben új üzeneteket hozunk létre az új felhasználóknak:

Most nyissa meg a AccounController.cs. keresse meg a Regisztrációs módot és törölje az FormService.SignIn fájlt. Úgy kell kinéznie:

Módosítsa a CreateUser módszert (újra!) Hogy a kulcs az adatbázisban tárolódjon.

Most, hogy a kulcs keletkezik, valahogyan el kell küldenie a felhasználónak. Mivel a lecke nem nagy, a kódot a UserRepository osztályban közvetlenül a levélhez kell írnunk. Valódi alkalmazásoknál valószínűleg különálló osztályba kell különíteni ezt a logikát.

Szüksége lesz egy SMTP-kiszolgálóra, amely lehetővé teszi, hogy leveleket küldjön. Ha az alkalmazás a tárhelyen van, akkor rendszerint már rendelkezik saját SMTP szerverrel, amelyet használhat. A helyi számítógépen végzett munkák teszteléséhez használhat valamilyen postai szolgáltatást, mint például a gmail vagy a mail.ru

Link hozzáadása a System.Net.Mailhez a UserRepository.cs-ban

A CreateUser módszerben adja hozzá a következő kódot:

A PORT helyett helyettesíteni kell azt a portszámot, amelyen az alkalmazás fut, vagy teljesen törli, ha a rendszer a tárhelyen fut. Az EMAIL_FROM, a SERVER, a USERNAME, a PASSWORD értékeket is ki kell cserélni a sajátjával.

Ha a következő kivétel történik a regisztráció során:

Most végrehajtjuk az aktiválást.

Nyissa meg az AccounController.cs parancsot, és adja hozzá a következő kódot:

Végül hozzon létre az ActivateUser módszert a UserRepositoryban

Most ki kell javítania a ValidateUser-t a UserRepository-ban. így csak az aktivált felhasználókat hitelesítheti.

Frissített projekt letölthető itt: CustomRoleAndMembership.zip