Ruby / Rack中的单点登录服务器验证

前端之家收集整理的这篇文章主要介绍了Ruby / Rack中的单点登录服务器验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows服务器上编写和托管Web应用程序,用于Intranet的使用.我的服务器堆栈使用Sinatra(使用Rack),Thin,(在某些情况下)Apache仅用于反向代理.

我希望在我们的ActiveDirectory支持的域中支持单点登录(使用NTLM或Kerberos).我看到我可以使用mod_ntlm或mod_auth_kerb,当我在Apache后面执行我的NTLM身份验证.我还没有尝试过,但我认为它会奏效.

我的问题是关于NTLM或Kerberos认证,当我不在Apache后面,只使用Thin和Sinatra.我看过rack-ntlm,但使用细节却非常稀疏.

请提供Sinatra或Rack下的已知工作代码,显示如何在服务器端使用NTLM或Kerberos,并使用ActiveDirectory(大概通过net-ldap)进行身份验证.

编辑:强调所需的答案,因为迄今没有答案接近提供这个问题要求的明确的帮助.用户应该可以找到这个答案,并有一个工作的解决方案,而不是指向外部库,他们必须弄清楚如何使用.

解决方法

我写了一个实现NTLM SSO的Rack :: Auth模块.这可能有点粗糙,但它适用于我.它完成了所有这些挑战/响应的东西,这是NTLM所必需的,并将REMOTE_USER设置为浏览器提交的任何内容.

Here’s the code.

为了使这个工作,浏览器必须设置为将NTLM的东西发送到服务器.在我的环境中,这只发生在服务器地址在可信域列表中时.对于Firefox,域必须添加到分配给关键网络的名称.automatic-ntlm-auth.trusted-uris,可通过以下方式访问:config.

原文链接:https://www.f2er.com/ruby/272170.html

猜你在找的Ruby相关文章