1

MVC4 似乎有一个新的成员数据库,首先使用 EF 代码自动生成的表。

我正在尝试将我的 MVC3 应用程序迁移到这个新的成员数据库。 我不知道在使用 WebSecurity 时如何更改 cookie 中的用户数据。 我使用它来提供额外的权限数据,以便我的应用程序可以提供更细粒度的访问,而不必一直访问数据库,此外还可以使用不针对它的 cookie。

在 MVC3 中,我使用了 FormsAuthentication,在其中使用自定义数据设置了 FormsAuthentication cookie。 下面是我想在 MVC4 中使用 WebSecurity 实现的示例。如何?

// 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