Don*_*Don 6 authentication session iis-6 forms-authentication asp.net-2.0
我正在收到用户的报告和投诉,他们将使用屏幕并在下次请求时立即返回登录屏幕.它不会一直发生,而是随机发生.查看Web服务器后,应用程序事件日志中显示的错误是:
事件代码:4005事件消息:请求的表单身份验证失败.原因:提供的故障单已过期.
我读到的一切都是从人们询问网络花园或负载平衡开始的.我们没有使用其中任何一种.我们是一个带有IIS6的Windows 2003(32位操作系统,64位硬件)服务器.这是该服务器上唯一的网站.
此行为不会向用户生成任何应用程序异常或可见问题.他们刚刚被启动回登录屏幕并被迫登录.你可以想象这对我们的用户来说非常烦人并且适得其反.
这是我在web.config中为root中的应用程序设置的内容:
<authentication mode="Forms">
<forms name=".TcaNet"
protection="All"
timeout="40"
loginUrl="~/Login.aspx"
defaultUrl="~/MyHome.aspx"
path="/"
slidingExpiration="true"
requireSSL="false" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
我还读到,如果你有一些不再存在的位置设置或者是假的,你可能会遇到问题.我的路径属性都是有效的目录,所以不应该是问题:
<location path="js">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="anon">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="App_Themes">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="NonSSL">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
我唯一不清楚的是,我的auth票证的forms属性中的超时值是否必须与我的会话超时值(在IIS中的应用程序配置中定义)相同.我读过一些事情,说你应该让认证超时(40)比会话超时(45)更短,以避免可能出现的并发症.无论哪种方式,我们都有用户在最后一次操作后的一两分钟内被踢到登录屏幕.所以会议肯定不会到期.
更新2/23/09:我已经将会话超时和身份验证票据超时值设置为45,问题似乎仍然存在.
应用程序中唯一的其他web.config位于托管社区服务器的1个虚拟目录中.web.config的身份验证设置如下:
<authentication mode="Forms">
<forms name=".TcaNet"
protection="All"
timeout="40"
loginUrl="~/Login.aspx"
defaultUrl="~/MyHome.aspx"
path="/"
slidingExpiration="true"
requireSSL="true" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
虽然我不相信它适用,除非你在网络花园中,我在两个web.config文件中设置的两个机器键值都是相同的(为方便起见,删除):
<machineKey
validationKey="<MYVALIDATIONKEYHERE>"
decryptionKey="<MYDECRYPTIONKEYHERE>"
validation="SHA1" />
<machineKey
validationKey="<MYVALIDATIONKEYHERE>"
decryptionKey="<MYDECRYPTIONKEYHERE>"
validation="SHA1"/>
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激.这似乎是产生大量Google结果的问题之一,到目前为止,这些问题似乎都不符合我的情况.
| 归档时间: |
|
| 查看次数: |
3105 次 |
| 最近记录: |