身份验证 – 在达到会话和身份验证票证超时值之前,用户被迫随机
我正在收到用户的报告和投诉,他们将使用屏幕并在下次请求时立即返回登录屏幕.它不会一直发生,而是随机发生.查看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> 我还读到,如果你有一些不再存在的位置设置或者是假的,你可能会遇到问题.我的路径属性都是有效的目录,所以不应该是问题: <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> 我唯一不清楚的是,我的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> 虽然我不相信它适用,除非你在网络花园中,我在两个web.config文件中设置的两个机器键值都是相同的(为方便起见,删除): <machineKey validationKey="<MYVALIDATIONKEYHERE>" decryptionKey="<MYDECRYPTIONKEYHERE>" validation="SHA1" /> <machineKey validationKey="<MYVALIDATIONKEYHERE>" decryptionKey="<MYDECRYPTIONKEYHERE>" validation="SHA1"/> 任何有关这方面的帮助将不胜感激.这似乎是产生大量Google结果的问题之一,到目前为止,这些问题似乎都不符合我的情况. 解决方法
还可能需要检查应用程序池的Maximum Worker Processes属性.如果您在内存会话中使用并且具有多个作为最大工作进程,则可以查找会话问题,因为用户请求由不知道其会话的其他线程处理.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Core Identity核心知识
- asp.net媒体保护
- asp.net – 将linq连接到sql datacontext到业务层中的httpc
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automap
- asp.net-mvc – 使ASP.MVC2/VS2010应用程序在IIS 7.5中工作
- asp.net – 有没有办法知道是否有人为您的网站添加了书签?
- API Test WebApiTestClient工具安装及使用
- asp.net-mvc – ELMAH – MVC 3 – 403 – 禁止:访问被拒绝
- F#和ASP.NET
- asp.net-mvc-3 – 不能将lambda表达式转换为’string’类型