我们正在尝试实现一个集成了 AD 和 PHP Web 应用程序的单点登录解决方案。当用户尝试访问 Intranet 网站时,应该会发生以下情况:
- Web 应用程序要求服务器读取存储在已登录 Windows/AD 的用户计算机中的 AD 凭据。
- AD“将 AD 用户名传递给 Apache”
- 使用 PHP,我读取了存储在 $_SERVER['PHP_AUTH_USER'] 中的凭据 - 据我所知
这一切都意味着只能在 Intranet 中工作。在它之外,我们只显示一个登录表单。
我们对这个过程有些困惑。从其他 来源,我们使用以下指令配置 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 的内容,但关于这个案例的内容并不多。我们的系统管理员在这方面并没有真正的经验,所以他们没有多大帮助。