我想通过Active Directory创建一个带有SSO身份验证的Intranet。我搜索过,我发现可能有两种方式:
使用apache模块 mod_authnz_sspi 。我可以获得用户名和域名,但似乎没有身份验证。也许我真的不明白......
这里我的apache为这个模块配置:
AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIOfferBasic On SSPIOmitDomain Off SSPIDomain MyDOMAIN Require valid-user
所以我猜“连接”并不安全......
使用apache模块 mod_authnz_ldap ,但我无法使其正常运行...
这里我的apache为这个模块配置:
AuthName "LDAP Authentication" AuthType Basic AuthBasicProvider ldap AuthLDAPBindAuthoritative off AuthLDAPURL "ldap://ad.server.fr:389/DC=server,DC=local?sAMAccountName?sub?(objectClass=person)" NONE AuthLDAPBindDN ldap@server.local AuthLDAPBindPassword password AuthLDAPRemoteUserAttribute on LDAPReferrals Off
我收到此错误LDAP: SSL support unavailable: LDAP: CA certificates cannot be set using this method, as they are stored in the registry instead.
但我不想使用SSL进行连接...
其实我真的不明白这是怎么回事。我的活动目录没有从我的apache获得连接,也可能只是匿名。
现在我不知道如何在我的Intranet上进行SSO身份验证。 哪种方式更好?还有另外一个吗?
我使用wache( for windows )和apache 2.4.4。
答案 0 :(得分:1)
我在windows xp上使用apache 2.4.4,使用mod_authnz_sspi以及以下适用于使用IE8的人。但我不是在使用PHP。使用Django。
<Location "/k/">
AuthName "Something"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain "COMPANY"
SSPIUsernameCase "upper"
require valid-user
SSPIPerRequestAuth Off
require user "NT AUTHORITY\ANONYMOUS LOGON" denied
</Location>