MVC4には、最初にEFコードによって自動的に生成されたテーブルを使用する新しいメンバーシップデータベースがあるようです。
MVC3アプリケーションをこの新しいメンバーシップデータベースに移行しようとしています。 私が理解できないのは、WebSecurityを使用しているときにCookieのユーザーデータをどのように変更するかです。 これを使用して追加のアクセス許可データを提供し、アプリケーションが常にデータベースにアクセスすることなく、よりきめ細かいアクセスを提供できるようにします。さらに、Cookieを使用します。
MVC3では、FormsAuthenticationを使用して、カスタムデータを使用してFormsAuthenticationCookieを設定しました。 以下は、WebSecurityを使用してMVC4で達成したいことのサンプルです。どのように?
// Get the access details from the database so we can place it into the cookie
TicketUserData tud = new AuthorizationTicketData().BuildTicketUserDataFromDatabase(userName);
// Create the auth cookie
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
userName,
System.DateTime.Now,
System.DateTime.Now.AddMinutes(30),
false,
tud.ToString(),
FormsAuthentication.FormsCookiePath);
// Encrypt the ticket to protect the data (this will look at the web.config forms settings)
string encTicket = FormsAuthentication.Encrypt(ticket);
// Create the cookie
HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
ありがとう!