ASP.NETMVCの学習を始めたばかりです。デフォルトでを使用する標準のプロジェクトテンプレートで作成されたプロジェクトに取り組んでいますSqlMembershipProvider
。これにより、メンバーシップ情報を保持するために、プロジェクトにASPNETDB.mdfデータベースが自動的に作成されました。このデータベースに保存されているメンバーを実際のアプリケーションデータに関連付けるにはどうすればよいですか?
this.User.Identity.Name
アプリケーションのデータベースとの間でユーザー固有の情報を保存または取得するときにキーとして使用するために、アクションメソッドで現在のユーザーの名前を参照するだけでよいですか?または、this.User.Identity.UserId
代わりに使用する必要がありますか?整数ベースのIDは、文字列またはGUIDベースIDよりも検索がはるかに高速であると常に思っていました。ただし、aspnet_Usersテーブルの主キーはGUIDフィールドです。
との間に違いはありますthis.user
かthis.HttpContext.User
?IPrincipal
これらのプロパティからの戻り値とからの戻り値MembershipUser
についてはどうでしょうかMembership.GetUser()
。これらの違いは何ですか?
また、メンバーシップ情報をアプリケーションデータベースとは別のデータベースに保持するのが最善ですか?それとも、それらを1つのデータベースにマージしても大丈夫ですか?