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 ..

War es hilfreich?

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

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top