我知道两种身份验证方式:
第一:使用FormsAuthentication
:
FormsAuthentication.SetAuthCookie(login.UserName, login.RememberMe);
和另一种方式:使用FormsAuthenticationTicket
var ticket = new FormsAuthenticationTicket(1, user.Email.ToString(), DateTime.Now, DateTime.Now.AddSeconds(300000), login.RememberMe, "a");
var ticketEncrypted = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie("eshop", ticketEncrypted);
if (login.RememberMe)
{
cookie.Expires = DateTime.Now.AddMinutes(100);
}
HttpContext.Response.Cookies.Add(cookie);
我想知道哪一个更好?当我应该使用第一个而当另一个方式时?
答案 0 :(得分:3)
第一种方法也使用levels.forEach((temp => (label, key) => {
var xAxis = (parseInt(label, 10)).toFixed(0),
yAxis = parseInt(this.props.dataSet.datasets[0].data[key], 10),
arrayAxis =[ xAxis, yAxis];
if (!temp[arrayAxis]) {
temp[arrayAxis] = true;
data.push(arrayAxis);
}
})(Object.create(null)));
- 按照FormsAuthenticationTicket
的源代码进行操作,您可以看到
FormsAuthentication.GetAuthCookie
即。开始看起来类似于你的第二个代码示例
除非您使用的是cookieless auth,否则两者都在做同样的事情,即在浏览器中设置Cookie
如果您想更好地控制cookie的属性,可以使用后者。