我最近一直在努力解决问题。我的网站使用表单身份验证突然表现得相当奇怪。一旦表单身份验证超时,我可以看到我已退出我的应用程序但由于某种原因,我没有被重定向到登录页面。这之前一切都很好。不知道突然发生了什么事。我正在使用SQL Server存储会话状态,当我将应用程序发送到inProc时,一切看起来都很好。
我甚至删除并重新创建了我的ASP.NET会话状态数据库,但还没有运气。当我查看事件查看器时,我有许多条目,其中包含以下消息:
“请求的表单身份验证失败。原因:提供的故障单已过期。”
在小搜索中,有人说,这可能发生在应用程序池回收。我甚至删除并重新创建了我的应用程序池。但是,我还没有被重定向到登录页面。
有人可以帮助我吗?
谢谢。
答案 0 :(得分:0)
要使表单身份验证实际阻止对页面的访问,您需要告诉您的应用程序在什么情况下阻止访问。
这将阻止所有未登录的用户并导致重定向返回指定的登录页面。为简单起见,请将其放在<authentication>
标记之后。
<authorization>
<deny users="?" />
</authorization>
如果您想限制更具体的字词,可以添加更详细的<location>
元素。有关详细信息,请参阅this article。