カスタムMembershipProviderを実装しようとすると、誰かが私の頭を包み込むのを手伝ってくれることを願っています。これはおそらくコードの質問というよりも理論の質問です...これが私が持っているものです:
- MVC 2アプリ(空のMVC 2プロジェクトから開始)
- 独自の「users」テーブルを持つSQLServerDB
- Userクラス、UserRepository、UserService、何とか何とか何とか
現在、私のアプリケーションは、成功した場合にUserオブジェクトを返すUserRepositoryを介して認証します。次に、このUserオブジェクトはセッションに保存され、その後、認証を必要とするすべてのコントローラーアクションによって問い合わせられます。
これをセッションに保存すると、セッションハイジャックに対して脆弱になり、より安全な方法は自分のMembershipProviderを実装することになることを理解しています。私が理解していないのは、このカスタムプロバイダーが私のUserオブジェクトをどこに保存するのかということです。オーバーライドされたValidateUser()メソッドはブール値を返すだけですが、そのユーザーがサイト上でその情報を保持している場所がわかりません。
ユーザー認証のセッションへの依存を取り除くことで、既存のプロセスをより安全にしながら、維持したいと思っています。ユーザーがログインしたら、アプリケーション全体で完全なユーザーオブジェクトを自由に使用できるようにするのが好きですが、それ以外の場合は提案を受け入れることができます。MembershipProviderドキュメントの多くはちょっとブラックボックスのようです。ユーザー認証を永続化するために、内部で実際に何が行われているのかを誰かが説明できることを期待しています。
前もって感謝します