gpt4 book ai didi

asp.net-mvc-4 - MVC 4 表单例份验证(无限登录)

转载 作者:行者123 更新时间:2023-12-01 03:51:15 25 4
gpt4 key购买 nike

我很惊讶我在interwebz上找不到一个好的答案,所以我们来了。

我正在设置一个 FormsAuthenticationTicket一周后到期。这与登录表单上的“记住我”设置一起使用。这是通过以下方式完成的:

var cookie = new HttpCookie(FormsAuthentication.FormsCookieName);

// set the auth token expiration to a week
var authTicket = new FormsAuthenticationTicket(1, user.Email, DateTime.Now, DateTime.Now.AddHours(168), true, userData);
var encryptedTicket = FormsAuthentication.Encrypt(authTicket);

cookie.Value = encryptedTicket;
cookie.Expires = authTicket.Expiration;

有了这个,我还延长了我们的 session 超时时间,因为我们的许多用户将应用程序保持打开同样长的时间:
<forms loginUrl="~/account/sign-in" timeout="10080" name="t5S4U4Y152" domain=".xxxxxxx.xxx.xxxxx"/>

我的问题:

我被要求将其设为不过期的 cookie,这样只要用户保留它,他们就会始终登录 - 或多或少是无限登录。是否有默认值可以设置票证和超时以实现此目的?

是的,我可以将两个到期时间都设置为从现在算起 50 年,但我想知道是否有更清洁或更合适的方法?

最佳答案

不,没有任何值可以设置到期时间,因此它是无限的。您只需要将其设置为非常长的内容即可。

如您所知,如果您不设置过期时间,则 cookie 只会在 session 期间(当浏览器关闭时)有效,这绝对不是您想要的。

您也可以使用 slidingexpiration=true这样每当用户返回站点时,cookie 上的到期日期都会刷新为 Today + Timeout而不是 DateInitiallyIssued + Timeout

关于asp.net-mvc-4 - MVC 4 表单例份验证(无限登录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22563482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com