質問があります:
役割ベースの Web アプリケーションを作成するには? フォーラム サイトのように、多くのユーザー タイプ、管理者、モデレーターなどがあります。これらのユーザー タイプの役割は、データベースまたは web.config に保存されていますか? ユーザーが私たちのサイトにログインするとき、このユーザーの役割をどのように制御しますか? 要するに、承認と認証について学びたいのです。
ありがとう..
質問があります:
役割ベースの Web アプリケーションを作成するには? フォーラム サイトのように、多くのユーザー タイプ、管理者、モデレーターなどがあります。これらのユーザー タイプの役割は、データベースまたは web.config に保存されていますか? ユーザーが私たちのサイトにログインするとき、このユーザーの役割をどのように制御しますか? 要するに、承認と認証について学びたいのです。
ありがとう..
この記事とビデオを確認してください。
組み込みの承認スキームは、基本的に誰が入室できるか、誰が退室できるかを認証するだけでよい単純な状況ではうまく機能しますが、特別な管理者アカウントを持つなどのカスタム状況では不十分であることがわかりました.
そのような状況では、独自の認証方式を作成しました。
@マベラ:
基本的に、独自のデータベースに独自の users テーブルを持ち、権限を管理し、ログイン情報を保存するという概念です (もちろん適切にハッシュされています)。複数レベルの権限スキームの場合、通常は 2 つ以上のテーブルを使用します。次に例を示します。
TblUsers:
-----------------------------------------------------------------
| UserID (PK) | UserName | HashedPassword | PermissionLevel (FK)|
|---------------------------------------------------------------|
| 1 | BobTables| adfafs2312 | 2 |
-----------------------------------------------------------------
TblPermissions
-------------------------------------
| PermissionID (PK) | Description |
--------------------------------------
| 1 | User |
| 2 | SuperUser |
| 3 | Admin |
--------------------------------------
ユーザーが実行できる実際の機能を公開する TblPermissions 間の 1 対多の関係を含む 3 番目のテーブルを追加できます。
ユーザーのクエリは次のように簡単です。
SELECT TblUser.Username, TblPermissions.Description
FROM TblUsers, TblPermissions
WHERE TblUser.UserID = @UserID
AND TblUser.PermissionLevel = TblPermission.PermissionID;
その情報をカプセル化するカスタム クラスを作成し、ログイン時に ASP.NET セッションに保存します。