首页 文章

SSO身份验证 - Apache / PHP / ActiveDirectory

提问于
浏览
1

我想通过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身份验证 . 哪种方式更好?还有另一个吗?

我用apache 2.4.4使用wamp(用于windows) .

1 回答

  • 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>
    

相关问题