私が取り組んでいるこのプロジェクトでは、管理者ユーザーのローカル データベースを保持し、通常のユーザーには外部データベースを使用する必要があります。管理データベースで認証を通過した人には「管理者」ロールが割り当てられ、他のデータベースで認証された人には常に「ユーザー」ロールが割り当てられます。
これらのロールを手動で割り当てることはできますか? ロールプロバイダーなどの複雑さは必要ありません。これらの2つのロールのみを使用しているため、認証するデータベースに常に基づいています。
サンプル コードやドキュメントへのリンクを提供していただけると、非常に助かります。ありがとう!
編集:
現在、私はロール プロバイダーを使用しておらず、ロール プロバイダーを作成するのは面倒なようです。「ベストプラクティス」ではないことはわかっていますが、ログイン時に 2 つの役割のうちの 1 つを割り当てるだけで済みます (これは変更されません)。また、ユーザーはロールごとに 2 つのデータベースに分割されているため、ロール情報をデータベースに保存することも意味がありません。
ここにいくつかの擬似コードがあります:
if (AdminDB.ValidateUser(username,password)==true) {
SetAuthCookie(username);
AssociateUserWithRole(username, 'admin');
} elseif (UserDB.ValidateUser(username,password)==true) {
SetAuthCookie(username);
AssociateUserWithRole(username, 'user');
} else {
// Login failed.
}
その「ThisSession.AssociateUserWithRole」の部分はわかりません。基本的に、ユーザーが認証されると、ユーザーが属するロールを .NET に伝える必要があります。