我在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集合中。
但是第一种方式呢?
如果他们确实做了同样的事情,那么有什么区别?
答案 0 :(得分:1)
他们都工作
SetAuthCookie方法将表单身份验证票证添加到Cookie集合或URL
第一个
var authTicket = new FormsAuthenticationTicket
允许您向其添加更多用户定义数据,如过期等。
https://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication(v=vs.110).aspx