ユーザー情報の取得メモ

ユーザー情報

System.Web.Mvc.Contoller.User.Identityで取得。
・未認証の場合:GenericIdentityクラスを返す。未認証で、認証方法やユーザー名称などは空文字列。
・認証済の場合:System.Web.Security.FormsIdentityクラスを返す。認証済みで、それぞれのプロパティ値に値が設定されている。

ユーザー管理

ASP.NET MVCプロジェクト作成すると、ユーザー管理関係の環境が自動的に生成される。
下記に概要を書いておく。詳しくはAccountModels.csを参照。

IMembershipServiceインターフェイス

自動的に生成される、ユーザー管理のインターフェイスクラス。
ユニットテストが行えるようにこのインターフェイスで抽象化しているらしい。

AccountMembershipServiceクラス

自動的に生成される、IMembersipService実装クラス。
内部にMembershipProvider継承クラスを持つ。ユーザー管理処理はこのプロバイダーに委譲する形になる。
どのプロバイダークラスを使用するかはWeb.configに記述する。
-> configuration/system.web/membership ノード
設定値がMemberShipクラスに登録される。内部使用のメンバーシップクラスはここから取得する。
デフォルトでは、System.Web.Security.SqlMembershipProviderクラスが指定されている。