Domanda

Ho qualche domanda:

Come creare un'applicazione Web basata sui ruoli? Come nei siti dei forum, ci sono molti tipi di utenti, admin, moderatore ecc ... i ruoli di questi tipi di utenti sono memorizzati nel database o web.config? E quando un utente accede al nostro sito, come controllare i ruoli di questo utente? In breve, voglio conoscere l'autorizzazione e l'autenticazione.

Grazie ..

È stato utile?

Soluzione

@Mavera:

Fondamentalmente, è il concetto di avere la propria tabella di utenti nel proprio database, in cui è possibile gestire le autorizzazioni e archiviare le informazioni di accesso (ovviamente correttamente hash). Nel caso di uno schema di autorizzazioni multilivello, di solito utilizzo due o più tabelle, ad esempio:

TblUsers:
-----------------------------------------------------------------
| UserID (PK) | UserName | HashedPassword | PermissionLevel (FK)|
|---------------------------------------------------------------|
|     1       | BobTables| adfafs2312     |         2           |
-----------------------------------------------------------------

TblPermissions
-------------------------------------
|  PermissionID (PK) | Description   |
--------------------------------------
|         1          |     User      |
|         2          |   SuperUser   |
|         3          |     Admin     |
--------------------------------------

Puoi aggiungere la terza tabella che contiene una relazione uno-a-molti tra TblPermissions che espone le capacità effettive che l'utente può essere autorizzato a fare.

L'interrogazione di un utente sarebbe semplice come:

SELECT TblUser.Username, TblPermissions.Description 
    FROM TblUsers, TblPermissions 
    WHERE TblUser.UserID = @UserID 
    AND TblUser.PermissionLevel = TblPermission.PermissionID;

Crea una classe personalizzata per incapsulare tali informazioni e memorizzale nella sessione ASP.NET al momento dell'accesso.

Altri suggerimenti

Ho scoperto che gli schemi di autorizzazione integrati funzionano benissimo per situazioni semplici in cui devi solo autenticare fondamentalmente chi può entrare e chi può andarsene, ma non riesco a situazioni personalizzate, come avere account amministratore speciali ecc.

In quelle situazioni, ho creato il mio schema di autenticazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top