我有一个正常运行的MVC应用程序,但在特定服务器上,它返回401.0“经过身份验证的用户无权访问处理请求所需的资源”错误。
通常它是这样的:
我已登录过滤器,并且可以看到用户已通过身份验证。因此,他们至少做到了这一点。但是,不是他们应该看到的页面,而是IIS出现401.0未经授权的错误。
我尝试过的事情:
我为此错误设置了一个跟踪规则,并且有一个跟踪,但是我不知道如何读取它。我将其粘贴到此处,但这是一个相当长的XML文件。
错误来自模块ManagedPipelineHandler,通知ExecuteRequestHandler,处理程序System.Web.Mvc.MvcHandler,错误代码为0x00000000。
一个细节:该服务器配置为使用端口90而不是端口80。我不确定为什么会导致问题,但也许会这样吗?
其他细节:该应用程序正在“主”应用程序下的虚拟目录中作为应用程序运行,该虚拟目录配置为根网站。
一个新的细节:该服务器是Windows Server 2008 R2,并且是从Windows Server 2003升级的。我相信升级过程中的某些问题可能是造成此问题的原因,因为没有针对此类问题的“通常可疑”解决方案有所帮助。
因此,您已经找到了解决方案,但想弄清楚它为什么起作用。这可能是方案之一。
似乎您的网站/ Web应用程序是通过已过期的特定用户凭据托管的。下次通过新凭据或应用程序删除并添加Windows身份验证时,它可以正常工作。
我在使用特定用户路径凭据托管的测试Web应用程序之一中遇到了类似情况。每次更改/过期用户密码。Web应用程序停止工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句