使用PHP和Apache进行NTLM登录

jtjikinw  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(159)

我想登录到我的系统使用ntlm协议。我发现模块apache - mod_auth_sspi,但我需要多平台的解决方案。
我的应用程序必须运行在windows和linux上(两者上都安装了php〉=5.3和apache〉2.0)。使用mod_auth_sspi我可以通过ntlm登录,但前提是我设置了:
必需的用户有效
如果我不设置这个值,我就不能检索USER_REMOTE,我也不知道如何实现我需要的解决方案:
我正在寻找解决方案,允许我显示给用户表单与登录/密码(ntlm),或者如果用户取消了此表单,系统应将他重定向到替代登录表单(数据将从数据库检索)。我需要登录到系统中的2种方式:通过NTLM和传统的(数据库)。我怎么做?
谢谢

zdwk9cvp

zdwk9cvp1#

你可以在windows上使用mod_auth_sspi,在linux上使用http://modntlm.sourceforge.net/。我知道这不是最好的解决方案,但它应该可以工作(我想你必须检查脚本运行在什么操作系统上,并选择适当的mod,因为我怀疑API是相同的)。
编辑:
对于多个登录提供程序,请参阅:
http://httpd.apache.org/docs/2.3/howto/auth.html#multprovider

agxfikkp

agxfikkp2#

我知道这个老问题,但对将来从Google登陆这里的用户可能有用。一个跨平台(我在Windows和Ubuntu上运行)的解决方案是PyAuthenNTLM2:
https://github.com/Legrandin/PyAuthenNTLM2
与其他模块相比,此模块的一个重要的额外优势是它支持NTLM版本2(NTLMv2)协议,这是一个更“安全”的协议。重要的是,Windows 7(和AFAIK Vista也)只在默认情况下使用NTLMv2(它可以在注册表中切换),因此您不会强迫您公司的Windows管理员更改此设置。

相关问题