ユーザー認証とロール管理にそれぞれ Windows 認証と SqlRoleProvider を使用するアプリケーションがあります。デフォルトとしてデータベースに追加したテスト ユーザーで問題なく動作しています。このアプリケーションでは、ユーザーが (Windows 資格情報を使用して) ログインし、この内部アプリケーションを基本的な「ユーザー」として使用できるようにする必要があります。ユーザーを高レベルの役割に追加する必要がある場合、最初のログイン後に管理者がこれを担当します。
そうは言っても、ユーザーが最初にログインしたときに、ユーザーをデフォルトの役割に追加するにはどうすればよいですか? 論理的には、Roles.IsUserInRole() を呼び出して、そうでない場合は追加する必要があることはわかっています。しかし、どこでこれを行うのでしょうか? Global.asax で使用するイベントを見つけるのに問題があります。
ありがとう
編集: シナリオを少し拡張するために、接続文字列を web.config の外部に格納できるようにする新しいプロバイダーを作成する必要があるため、完全なメンバーシップ プロバイダー システムを使用していません。登録またはログイン ページの形式を使用せず、IIS の Windows 統合認証に認証の側面を処理させ、強化された SqlRoleProvider でユーザー ロールを管理します。ハードコードされたテストを介してロールをセットアップしたユーザーに対して、システムは正常に機能しています。新しいユーザー (IIS によって認証される) を追加して、既定の "ユーザー" ロールにすぐに追加する方法を探しています。見つけたと思います。ただし、現在、パフォーマンス上の理由から、リクエストごとに起動しないようにする方法を検討しています。