2008-11-08 115 views
0

我有一些問題:ASP.NET Web應用程序的身份驗證系統?

如何製作基於角色的Web應用程序?比如在論壇網站上,有許多用戶類型,管理員,主持人等......是存儲在數據庫或web.config中的這些用戶類型的角色嗎?而當用戶登錄我們的網站時,如何控制這個用戶角色?總之,我想了解授權和認證。

謝謝..

回答

0

@Mavera:

基本上,它具有自己的數據庫,在這裏你可以管理權限和存儲的登錄信息(正確散列當然)你自己的用戶表的概念。在多級權限模式的情況下,我通常使用兩個或多個表,例如:

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

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

您可以添加第三個表包含暴露的實際能力TblPermissions間的一種一對多的關係用戶可能被允許執行。

查詢用戶將簡單:

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

創建一個自定義的類來封裝這些信息,並將其存儲在ASP.NET會話時,他們在登錄

+0

非常感謝喬納森。荷蘭。那很棒。 – mavera 2008-11-08 07:19:42

0

我發現內置的授權方案爲,你只需要基本身份驗證誰可以進入和誰可以離開,但功虧一簣定製情況,比如有特殊情況的簡單工作的偉大管理員帳戶等。

在這些情況下,我創建了自己的身份驗證方案。

相關問題