这两种Authentication Ticket制作方式的区别?

Difference between these two Authentication Ticket making ways?

我在 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 集合中。

但是第一种方式呢?

如果他们确实在做同样的事情,那有什么区别?

他们都工作

SetAuthCookie 方法将表单身份验证票添加到 cookie 集合或 URL

第一个

var authTicket = new FormsAuthenticationTicket

允许您向其中添加更多用户定义数据,例如过期等。

https://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.setauthcookie(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication(v=vs.110).aspx