2008-11-08 46 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

我发现内置的授权方案为,你只需要基本身份验证谁可以进入和谁可以离开,但功亏一篑定制情况,比如有特殊情况的简单工作的伟大管理员帐户等。

在这些情况下,我创建了自己的身份验证方案。

相关问题