IIS7页面重定向出现403错误

3
首先,我不太熟悉和了解IIS7,只是用它来重定向到一个Weblogic应用程序。 我使用的后端Weblogic应用程序有一个登录页面作为起始页面。当我通过IIS7调用页面时,它会将我的请求重定向到Weblogic并显示登录页面。当我尝试使用正确的用户名和密码登录时,一切都很好,我可以无问题地使用系统。然而,当我尝试使用错误的凭证登录时,IIS会显示默认的403权限被拒绝页面,而不是我的Weblogic应用程序的登录错误页面。 当我稍微研究了一下这个问题,我发现Weblogic用403消息回复了我的错误登录尝试,该消息已经包含Weblogic应用程序登录失败的页面。当IIS看到403消息时,它会丢弃其中的页面,只发送纯粹的403响应(我也删除了IIS的花式403错误消息)。
是否有任何方法让iis7在不处理它的情况下重定向所有请求和响应?不幸的是,更改Weblogic应用程序的回复消息代码是不可行的。
2个回答

3
我们遇到了一个问题,就是IIS 7通过ISAPI过滤器捕捉了由weblogic返回的错误响应。例如,如果您在登录页面上输入错误的登录凭据,IIS将返回自定义的403错误页面,而不是将我们应用程序的登录页面发送回weblogic。
这是因为IIS 7处理自定义错误代码并发送其自己的错误页面。请参见http://www.iis.net/ConfigReference/system.webServer/httpErrors以了解更多信息。
为了纠正这种行为,我们必须在网站的web.config中的httpErrors部分设置existingResponse ='PassThrough'。

0

我不确定,因为我不使用IIS。如果您按照以下方式修改web.config文件中的路径,则可能已足够:

<httpErrors>
  <remove statusCode="404" subStatusCode="-1" />
  <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
  <remove statusCode="403" subStatusCode="-1" />
  <error statusCode="403" prefixLanguageFilePath="" path="/weblogic/login.php" responseMode="ExecuteURL" />
</httpErrors>

在你提供的web.config建议之后,我进行了一些调查并找到了这个页面:http://www.iis.net/ConfigReference/system.webServer/httpErrors 参数existingResponse适用于我的情况:) 谢谢。 - goktan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接