我在一个MVC应用程序中发现了这部分代码。
var authTicket = new FormsAuthenticationTicket(
1, // version
oModel.UserID, // user name
DateTime.Now, // created
DateTime.Now.AddDays(30), // expires
oModel.RememberMe, // persistent?
"Jt_AutoLogin"
);
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
var authCookie = new HttpCookie("Jt_AutoLogin", encryptedTicket);
if (authTicket.IsPersistent)
{
authCookie.Expires = authTicket.Expiration;
}
System.Web.HttpContext.Current.Response.Cookies.Add(authCookie);
代码如下
FormsAuthentication.SetAuthCookie(oModel.UserID, oModel.RememberMe);
据我所知,SetAuthCookie()
方法会生成认证票据并将其添加到cookie集合中。
但第一种方式又是什么呢?
如果它们确实都在做同样的事情,那么它们有什么区别呢?