【问题标题】:Forwarding NTLM credentials from IIS with ARR and URL Rewrite使用 ARR 和 URL 重写从 IIS 转发 NTLM 凭据
【发布时间】:2014-06-04 08:00:35
【问题描述】:

提前感谢您的帮助。

在我的环境中,我将 IIS 配置为充当反向代理并将请求转发到某些路径到另一台主机上的应用程序服务器。为此,我使用了应用程序请求路由 (ARR) 和 URL 重写模块,创建了我的规则,一切正常。

IIS 负责使用 NTLM 对客户端进行身份验证,所以我的问题是:是否可以在对用户进行身份验证后将身份验证凭据(至少是用户名)传递给我的应用程序服务器?

我尝试在我的请求中添加一个自定义标头,编写如下规则:

<rule name="ForwardToApplicationServer">
<match url=".*" />
<serverVariables>
<set name="HTTP_AUTH_USER" value="{AUTH_USER}" />
</serverVariables>
<action type="Rewrite" url="http://myappserver/myapp/{R:0}" logRewrittenUrl="true" />
</rule>

但它不起作用:当我在我的应用程序上阅读它时,我的标题总是空的。我也尝试过,但这些都不起作用。

那么,我做错了什么?我应该使用另一个服务器变量吗?我错过了什么吗?

更笼统地说:有可能做我想做的事吗?

再次感谢您的帮助,如果我问的问题很明显,但我是使用 IIS 的新手,但找不到任何对我有帮助的东西,请原谅我。

【问题讨论】:

    标签: iis windows-authentication ntlm url-rewrite-module arr


    【解决方案1】:

    http://weblogs.asp.net/owscott/an-intro-to-iis-url-rewrite-plus-redirecting-urls-to-www-web-pro-week-8-of-52

    {REMOTE_USER}, {LOGON_USER} & {AUTH_USER} do not work with URL-REWRITE, ... 
    

    您可以使用www.isapirewrite.com,它稍后会在堆栈中运行,并具有身份验证数据的句柄。

    【讨论】:

    • 太烦人了,这不起作用 - IIS 的主要好处是它可以非常轻松地处理某些身份验证类型,并且您不能只是将它弹出到安全服务器前面并让它放置经过身份验证的http 标头中的用户名并转发请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多