Authentifizierungssystem für ASP.NET Web-Anwendungen?
-
07-07-2019 - |
Frage
Ich habe einige Frage:
Wie eine Rolle Web-Anwendung basiert machen? Wie in Forum-Site gibt es viele Benutzer gibt, admin, Moderator etc ... ist die Rolle dieser Benutzertypen in der Datenbank oder web.config gespeichert? Und wenn ein Benutzer-Login auf unserer Website, wie diese Benutzer Rollen kontrollieren? Kurz gesagt möchte ich über die Autorisierung und Authentifizierung lernen.
Danke ..
Lösung
@Mavera:
Basicly, ist es das Konzept der eigenen Benutzer-Tabelle mit in Ihre eigene Datenbank, in der Sie Berechtigungen und speichern Anmeldeinformationen verwalten können (natürlich ebenfalls richtig gehasht). Im Fall eines Systems Multi-Level-Erlaubnis, verwende ich in der Regel zwei oder mehr Tabellen, zum Beispiel:
TblUsers:
-----------------------------------------------------------------
| UserID (PK) | UserName | HashedPassword | PermissionLevel (FK)|
|---------------------------------------------------------------|
| 1 | BobTables| adfafs2312 | 2 |
-----------------------------------------------------------------
TblPermissions
-------------------------------------
| PermissionID (PK) | Description |
--------------------------------------
| 1 | User |
| 2 | SuperUser |
| 3 | Admin |
--------------------------------------
Sie können die dritte Tabelle hinzufügen, die eine Eins-zu-Viele-Beziehung zwischen TblPermissions enthalten, die die tatsächlichen Fähigkeiten der Benutzer zu tun erlaubt werden kann aussetzt.
ein Benutzer abfragen wäre so einfach wie:
SELECT TblUser.Username, TblPermissions.Description
FROM TblUsers, TblPermissions
WHERE TblUser.UserID = @UserID
AND TblUser.PermissionLevel = TblPermission.PermissionID;
eine benutzerdefinierte Klasse erstellen, die Informationen zu kapseln, und speichern Sie es in ASP.NET-Sitzung, wenn sie angemeldet sind.
Andere Tipps
Überprüfen Sie diese Artikel und Videos:
Ich habe festgestellt, dass die in Genehmigungsregelungen gebaut große Arbeit für einfache Situationen, in denen Sie nur im Grunde müssen authentifizieren, die eintreten können und wer verlassen kann, aber für individuelle Situationen zu kurz, wie spezielle Administrator mit Konten etc.
In diesen Situationen habe ich mein eigenes Authentifizierungsschema erstellt.