如何让asp.net-mvc表单认证的cookie设置成长期不过期?
- 内容介绍
- 文章标签
- 相关推荐
本文共计433个文字,预计阅读时间需要2分钟。
我正在尝试实现一个基本的ASP.NET身份验证机制。遇到的问题是,我的身份验证cookie设置为一年后过期,但我不想让它在这个长时间后过期。以下是我的部分代码:
csharpweb.config
我正在尝试为MVC站点实现一个非常基本的 Asp.net表单身份验证机制.我得到的问题是我的身份验证cookie设置为在一年后过期,而我不希望它在这么长时间后过期.这是我的一些代码:web.config中
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2" /> </authentication>
调节器
... FormsAuthentication.SetAuthCookie(username, false); ...
我发现这个answer(这个问题类似,但在我的情况下,超时永远不会发生),但这是使cookie过期或我在这里做错了什么的唯一方法吗?
当我查看cookie时,它会在一年后过期,即使它会在几分钟后过期,为什么呢?
我想要的是某种程度上用户在一段时间后退出,我认为在表格标签中设置过期会完成这项工作吗?
在找到解决方案后,将近一个月,100次观看,没有答案.首先,web.config中指定的超时仅在cookie被设置为持久时才起作用,即持久性cookie也可以到期.最初我错误地认为持久cookie不能过期.事实上,如果我总是将cookie设置为持久性,那么我原来的代码就可以了.
其次,我认为成员资格提供者无需按照上述评论中的建议进行表单身份验证.
以下是我现在创建身份验证cookie的方法:
HttpCookie authCookie = FormsAuthentication.GetAuthCookie(username, isPersistent); if (!isPersistent) { //this is because if it was not set then it got //automatically set to expire next year even if //the cookie was not set as persistent authCookie.Expires = DateTime.Now.AddMinutes(15); } Response.Cookies.Add(authCookie);
如果有替代品,请告诉我?
本文共计433个文字,预计阅读时间需要2分钟。
我正在尝试实现一个基本的ASP.NET身份验证机制。遇到的问题是,我的身份验证cookie设置为一年后过期,但我不想让它在这个长时间后过期。以下是我的部分代码:
csharpweb.config
我正在尝试为MVC站点实现一个非常基本的 Asp.net表单身份验证机制.我得到的问题是我的身份验证cookie设置为在一年后过期,而我不希望它在这么长时间后过期.这是我的一些代码:web.config中
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2" /> </authentication>
调节器
... FormsAuthentication.SetAuthCookie(username, false); ...
我发现这个answer(这个问题类似,但在我的情况下,超时永远不会发生),但这是使cookie过期或我在这里做错了什么的唯一方法吗?
当我查看cookie时,它会在一年后过期,即使它会在几分钟后过期,为什么呢?
我想要的是某种程度上用户在一段时间后退出,我认为在表格标签中设置过期会完成这项工作吗?
在找到解决方案后,将近一个月,100次观看,没有答案.首先,web.config中指定的超时仅在cookie被设置为持久时才起作用,即持久性cookie也可以到期.最初我错误地认为持久cookie不能过期.事实上,如果我总是将cookie设置为持久性,那么我原来的代码就可以了.
其次,我认为成员资格提供者无需按照上述评论中的建议进行表单身份验证.
以下是我现在创建身份验证cookie的方法:
HttpCookie authCookie = FormsAuthentication.GetAuthCookie(username, isPersistent); if (!isPersistent) { //this is because if it was not set then it got //automatically set to expire next year even if //the cookie was not set as persistent authCookie.Expires = DateTime.Now.AddMinutes(15); } Response.Cookies.Add(authCookie);
如果有替代品,请告诉我?

