Ruby / Rack中的单点登录服务器验证
我在
Windows服务器上编写和托管Web应用程序,用于Intranet的使用.我的服务器堆栈使用Sinatra(使用Rack),Thin,(在某些情况下)Apache仅用于反向代理.
我希望在我们的ActiveDirectory支持的域中支持单点登录(使用NTLM或Kerberos).我看到我可以使用mod_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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |