0

ブログに従って Symfony3 で FR3LdapBundle と FOSUserBundle を正常にインストールし、このテスト LDAP サーバーに対して認証することができました。しかし今、社内の MS Active Directory サーバーに対して認証しようとしています。

これが構成の変更です(意図的に構成情報を難読化しています):

fr3d_ldap:
    driver:
        host: somehostname
        port: 389
        username: someuser
        password: password
        accountDomainName: TCADMIN.somedomain.com
        accountDomainNameShort: TCADMIN
    user:
        baseDn: cn=Users,dc=somedomain,dc=com
        filter: (&(ObjectClass=Person))
        attributes:
            - { ldap_attr: samaccountname,  user_method: setUsername }

上記は私が行った唯一の変更です。ログインすると、DEV ログに次の重要なメッセージが表示されます。

[2016-06-08 15:18:34] ldap_driver.DEBUG: {action}({base_dn}, {filter}, {attributes}) {"action":"ldap_search","base_dn":"cn=Users,dc=somedomain,dc=com","filter":"(&(&(ObjectClass=Person))(uid=pet_acad))","attributes":[]} []
[2016-06-08 15:18:34] security.INFO: User {username} {result} on LDAP {"action":"loadUserByUsername","username":"pet_acad","result":"not found"} []

ユーザー「pet_acad」は間違いなく存在します。これは、LDAP ブラウザーを使用する場合の「sAMAccountName」の値です。通常、このユーザーとして「TCADMIN\pet_acad」としてログインできます。これは Windows ホスト上にあります。

特別な設定が必要なのだろうか?「 sAMAccountName」での検索を有効にする可能性があります

4

1 に答える 1

1

ユーザー名を含む LDAP 属性を定義する必要があります

fr3d_ldap:
    user:
        usernameAttribute: sAMAccountName
于 2016-06-09T12:05:44.950 に答える