1

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));

ありがとう!

4

0 に答える 0