まだリリースされていないプロジェクトがありますが、すぐにはリリースされませんが、数日前に mvc3 から mvc4 に移動し、読んでいるときにこの新しいセキュリティ プロバイダーを見ましたSimpleMembership
。
私が現在セキュリティを実装する方法は、MembershipProvider
andを使用することFormsAuthentication
です。
- ICustomPrincipal を実装しました
- CustomPrincipalSerializeModel を実装しました
- IPrincipal を実装しました
ユーザーを登録するには、次を使用します。
MembershipCreateStatus status;
Guid g = Guid.NewGuid();
Membership.CreateUser(model.User.Email.Trim(), model.Password.Trim(), model.User.Email.Trim(), null, null, true, g, out status);
if (status == MembershipCreateStatus.Success)
...
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,
tUser.Email,
DateTime.Now,
DateTime.Now.AddDays(60),
true,
userData);
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(faCookie);
...
しかし、私が見たように、SimpleMembership ははるかにきれいに見え、プロジェクトをそこに移動したいのですが、それ
についていくつか質問があります:
1)すべてのデータベース アクションにストアド プロシージャを使用し、EF をまったく使用しません。SimpleMembership を使用する場合、EF なしで使用することは可能ですか?
2)実際のアプリケーション用にカスタムの SimpleMembership を構築する必要がありますか?
3)シードデータベースがテーブルを作成するのを見ました。テーブルを持っていUsers, Profiles, Roles and UsersInRoles
ますが、それをカスタム スキーマに適用できますか?
4)電話したい場合WebSecurity.CreateAccount(...)
そして、ユーザーを作成するストアドプロシージャを呼び出す責任があるドメインプロジェクトからカスタムメソッドを呼び出したいのですが、それをカスタムにする必要がありますか?それを行う必要がある場合は、ユーザー向けにカスタムにする方法を説明するリソースがあり、役割?