@ Mavera:
По сути, это концепция наличия вашей собственной таблицы пользователей в вашей собственной базе данных, где вы можете управлять разрешениями и хранить информацию для входа в систему (конечно, правильно хешируется). В случае многоуровневой схемы разрешений я обычно использую две или более таблиц, например:
TblUsers:
-----------------------------------------------------------------
| UserID (PK) | UserName | HashedPassword | PermissionLevel (FK)|
|---------------------------------------------------------------|
| 1 | BobTables| adfafs2312 | 2 |
-----------------------------------------------------------------
TblPermissions
-------------------------------------
| PermissionID (PK) | Description |
--------------------------------------
| 1 | User |
| 2 | SuperUser |
| 3 | Admin |
--------------------------------------
Вы можете добавить 3-ю таблицу, которая содержит отношение «один ко многим» между разрешениями TblPermissions и предоставляет реальные возможности, которые может быть разрешено пользователю.
Запросить пользователя будет так же просто, как:
SELECT TblUser.Username, TblPermissions.Description
FROM TblUsers, TblPermissions
WHERE TblUser.UserID = @UserID
AND TblUser.PermissionLevel = TblPermission.PermissionID;
Создайте пользовательский класс для инкапсуляции этой информации и сохраните ее в сеансе ASP.NET, когда они вошли в систему.