我们正在尝试实施集成AD和PHP Web应用程序的单点登录解决方案。当用户尝试访问Intranet网站时,应该会发生这种情况:
这一切都只适用于内部网。在它之外,我们只显示一个登录表单。
我们对这个过程感到有点困惑。从other sources开始,我们使用以下指令配置Apache,但最终不成功,内部服务器错误消息并且错误日志中没有任何内容。
<Location "/">
Options -Indexes MultiViews FollowSymLinks
Order allow,deny
Allow from all
AuthType Basic
AuthName "VALIDAUTHNAME"
AuthBasicProvider ldap
AuthzLDAPAuthoritative Off
AuthLDAPURL "ldap://IP.FOR.THE.SERVER:389/DC=MYCOMPANY,DC=CL?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "DC=MYCOMPANY,DC=MYCOUNTRY"
Require ldap-attribute gidNumber=10000
</Location>
我们必须实施的流程有明确的解释吗?我们已经阅读了许多有关逆过程的内容,将凭据传递给AD,但对此案例并不多。我们的系统管理员在这方面并不是很有经验,所以他们没有多大帮助。
答案 0 :(得分:1)
几个月前,我用mod_auth_nltm_winbind
完成了你想要做的事情。它的配置并不是很困难,但熟悉winbind
会有所帮助。如果你不是,你的系统管理员应该能够提供帮助。 winbind
是samba
包的一部分,因此它可能已安装在您的服务器上。一旦你设置了winbind,你只需要启用apache模块并进行一些配置。该模块的站点应该能够指导您完成它。当我最初设置它时,我使用IE8,Chrome和旧版本的Firefox(可能是5或6)测试它们,它们本身都支持NTLM身份验证。如果所有内容都已配置并且工作正常,则apache模块将使用用户名自动填充$_SERVER['PHP_AUTH_USER']
,而无需与用户进行任何交互,您可以从那里执行任何操作。现在有更多文档可用,即使之前缺少文档,我只有一个主要问题,现在已经很好地记录了修复。