MVC4 WebSecurity - 如何修改cookie数据?

时间:2012-08-24 23:44:44

标签: c# asp.net cookies membership

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

我正在尝试将我的MVC3应用程序迁移到这个新的成员资格数据库。 我无法弄清楚当我使用WebSecurity时如何更改cookie中的USER DATA。我使用它来提供额外的权限数据,以便我的应用程序可以提供更细粒度的访问而无需点击数据库一直在使用,而且不使用cookie。

在MVC3中,我使用FormsAuthentication,在那里我使用自定义数据设置FormsAuthentication cookie。 以下是我希望使用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));

谢谢!

0 个答案:

没有答案