Cookies 设置在asp Cookie上过期,密钥为赢得';行不通

Cookies 设置在asp Cookie上过期,密钥为赢得';行不通,cookies,asp-classic,Cookies,Asp Classic,我有一个经典的asp写的登录页面。我想将用户登录信息设置为asp Cookie,以便下次他们到达该页面时,他们将保持登录2周 问题是,当我在cookie上设置了一个到期日,其中包含了当浏览器关闭时cookie不会出现的键 下面是我的代码示例: response.cookies("user")("userId")=userId response.cookies("user")("firstName")=firstName response.cookies("user")("lastName")=l

我有一个经典的asp写的登录页面。我想将用户登录信息设置为asp Cookie,以便下次他们到达该页面时,他们将保持登录2周

问题是,当我在cookie上设置了一个到期日,其中包含了当浏览器关闭时cookie不会出现的键

下面是我的代码示例:

response.cookies("user")("userId")=userId
response.cookies("user")("firstName")=firstName
response.cookies("user")("lastName")=lastName
response.cookies("user").expires=dateadd("d",14,now)
设置没有密钥的cookie是有效的,但是当使用密钥过期时则无效

有人能帮我解决这个问题吗


这应该行得通。。。只需将过期时间移动到为密钥设置的第一个值:

response.cookies("user").expires=dateadd("D",14,Date())
response.cookies("user")("userId") = userId
response.cookies("user")("firstName") = firstName
response.cookies("user")("lastName") = lastName

这应该有用。。。只需将过期时间移动到为密钥设置的第一个值:

response.cookies("user").expires=dateadd("D",14,Date())
response.cookies("user")("userId") = userId
response.cookies("user")("firstName") = firstName
response.cookies("user")("lastName") = lastName

msigman的答案很好用。在我的本地服务器上测试了它。再次关闭和打开浏览器时,Cookie仍然存在

可能添加(子)域名

response.cookies("user").domain="example.com"
response.cookies("user").expires=dateadd("D",14,Date())
response.cookies("user")("userId") = userId
response.cookies("user")("firstName") = firstName
response.cookies("user")("lastName") = lastName

msigman的答案很好用。在我的本地服务器上测试了它。再次关闭和打开浏览器时,Cookie仍然存在

可能添加(子)域名

response.cookies("user").domain="example.com"
response.cookies("user").expires=dateadd("D",14,Date())
response.cookies("user")("userId") = userId
response.cookies("user")("firstName") = firstName
response.cookies("user")("lastName") = lastName

您有权访问IIS面板吗?我想知道您是否有一个设置使cookies过期?另一件事可能是努力编码expire并测试它,看看它是否也失败了

response.cookies("user").expires=#May 30,2021#
response.cookies("user")("userId") = userId
response.cookies("user")("firstName") = firstName
response.cookies("user")("lastName") = lastName
如果不是IIS设置,并且执行硬编码日期测试有效,则日期不太可能符合预期。这里甚至有一篇关于这方面的文章:

您也可以尝试以下方法来查看日期的变化情况,也许这也是一个格式问题,但请尝试以下方法并将其与预期结果进行比较:

Year(Now) '' Year in 4 digits
Month(Now) '' Month without leading zero
Day(Now) '' Day of the month without leading zero
DateAdd("d", <numofdays>, Now) ''pretty much what you are doing now
Year(现在)'Year(四位数字)
月份(现在)“'不带前导零的月份”
天(现在)“'月份中不带前导零的一天”
DateAdd(“d”,Now)”与您现在所做的差不多
此处有引文链接:
您有权访问IIS面板吗?我想知道您是否有一个设置使cookies过期?另一件事可能是努力编码expire并测试它,看看它是否也失败了

response.cookies("user").expires=#May 30,2021#
response.cookies("user")("userId") = userId
response.cookies("user")("firstName") = firstName
response.cookies("user")("lastName") = lastName
如果不是IIS设置,并且执行硬编码日期测试有效,则日期不太可能符合预期。这里甚至有一篇关于这方面的文章:

您也可以尝试以下方法来查看日期的变化情况,也许这也是一个格式问题,但请尝试以下方法并将其与预期结果进行比较:

Year(Now) '' Year in 4 digits
Month(Now) '' Month without leading zero
Day(Now) '' Day of the month without leading zero
DateAdd("d", <numofdays>, Now) ''pretty much what you are doing now
Year(现在)'Year(四位数字)
月份(现在)“'不带前导零的月份”
天(现在)“'月份中不带前导零的一天”
DateAdd(“d”,Now)”与您现在所做的差不多
此处有引文链接:

这也不起作用,浏览器关闭时cookies仍然丢失。这也不起作用,浏览器关闭时cookies仍然丢失。谢谢你的帮助,但这对我不起作用,是不是服务器上设置了什么,我正在使用IIS 7.5 Windows 2008 R2。是否为该站点启用cookies?浏览器中是否启用了Cookie?这是非常基本的代码,所以我同意问题可能出在服务器软件中。谢谢你的帮助,但这对我不起作用,这是不是服务器上设置的东西,我使用的是IIS 7.5 Windows 2008 R2。该站点是否启用了Cookie?浏览器中是否启用了Cookie?这是相当基本的代码,所以我同意问题可能在服务器软件中。