Rails 应用程序,IIS 8.5 中具有 Windows 身份验证的 REMOTE_USER 属性

2024-02-21

我已经设置了一个 IIS 8.5 服务器,它使用以下命令运行 Rails 应用程序HttpPlatformHandler和 Windows 身份验证。我们还尝试使用 ARR 作为反向代理,结果相同。

这一切都工作得很好,用户使用 kerberos 进行身份验证,并且匿名身份验证被禁用,没有问题。 我们可以拒绝特定用户,看看是否有效果。

问题是没有REMOTE_USER or AUTH_USERhttp 响应标头中任意位置的属性。但是,那HTTP_AUTHORIZATION标头已设置,例如“协商 YIIHJAYGKw....”。

我们还没有找到合理的方法来解码HTTP_AUTORIZATION标题也可以。

任何形式的帮助将不胜感激。


要解决此问题,您需要在运行 IIS 的服务器上安装 helicontech 的 ISAPI_Rewrite 3。下载地址在这里:ISAPI_重写3 http://www.helicontech.com/isapi_rewrite/download.html.

之后导航到安装文件夹,默认为C:\Program Files\Helicon\ISAPI_Rewrite3

在那里你会找到一个名为 httpd.conf 的文件,打开它并添加:

RewriteBase /
RewriteCond %{REQUEST_URI} ^/.*
RewriteHeader X-Remote-User: .* %{REMOTE_USER}

现在您将能够在 ruby​​ 代码中获取远程用户名:

request.env['HTTP_X_REMOTE_USER']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 应用程序,IIS 8.5 中具有 Windows 身份验证的 REMOTE_USER 属性 的相关文章

随机推荐