不久前,我发布了一个关于表单身份验证随机超时的问题。我以为这个问题已经解决了,但显然不是。
所以:我将会话、成员资格提供程序和表单身份验证超时设置为 15 分钟。当我查看我的网站时,我会随机注销,但在我的问题中,我看到我主要是在指向我的网站的链接更改时注销 - 从 www.mysite.com 到 mysite.com,反之亦然。这有关系吗?如果是这样,有什么我可以做的,以便 mvc 能够识别 www。并且没有 www。版本一样吗?
不久前,我发布了一个关于表单身份验证随机超时的问题。我以为这个问题已经解决了,但显然不是。
所以:我将会话、成员资格提供程序和表单身份验证超时设置为 15 分钟。当我查看我的网站时,我会随机注销,但在我的问题中,我看到我主要是在指向我的网站的链接更改时注销 - 从 www.mysite.com 到 mysite.com,反之亦然。这有关系吗?如果是这样,有什么我可以做的,以便 mvc 能够识别 www。并且没有 www。版本一样吗?
通过 web.config 在您的 auth cookie 中专门设置 cookie 域。
其次,可能不相关但只是为了安全起见,您是否正在处理会话和表单身份验证之间的超时同步?即使它们都设置为 15 分钟,它们也可以在非常不同的时间超时
和之间有很大区别。它们将在 2 个不同的会话和 cookie 中运行。甚至搜索引擎也会将它们识别为 2 个不同的网站。www.mysite.com
mysite.com
您应该尝试始终使用其中 1 个的链接,并在请求开始后立即执行 301 重定向。您可以在 Global.asax 中放置一些代码来验证BeginRequest
.
解决此问题的最佳方法是使用 IIS7 中的 Rewrite 模块,它会自动为您执行此操作。