繁体   English   中英

Symfony 4 LDAP认证

[英]Symfony 4 LDAP authentication

我目前正在尝试使用Symfony内置模块来实现LDAP身份验证。 我遵循了本教程: http : //symfony.com/doc/current/security/ldap.html

但是我无法使其正常工作,我所做的大多数研究都涉及Symfony 2.8,但这些都不起作用。

这是我的设置:

config / services.yaml

Symfony\Component\Ldap\Ldap:
    arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']

Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
    arguments:
        -   host: ######
            port: 389
            encryption: tls
            options:
                protocol_version: 3
                referrals: false

config / packages / security.yaml

providers:
        app_users:
            ldap:
                service: Symfony\Component\Ldap\Ldap
                base_dn: 'DC=company,DC=com'
                search_dn: 'CN=######,DC=company,DC=com'
                search_password: '#######'
                uid_key: 'sAMAccountName'
                filter: '({uid_key}={username})'
                default_roles: 'ROLE_USER'
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            anonymous: false

            http_basic_ldap:
                provider: app_users
                service: Symfony\Component\Ldap\Ldap
                dn_string: '{username}'

当前使用此配置,我确实有此错误:

警告:ldap_start_tls():无法启动TLS:连接错误

我还没有找到workarround,所以我尝试在services.yaml文件中用SSL替换TLS(我认为它没有任何作用)。

使用SSL参数可以循环连接。

我还使用PHP函数ldap_connect()来确保我的LDAP服务器正常工作。

是否有任何想法?

编辑:使用SSL日志文件始终返回相同的问题(凭据正确)

[2018-01-04 13:30:36] security.INFO: Basic authentication Authorization header found for user. {"username":"#######"} []
[2018-01-04 13:30:36] php.DEBUG: Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server ...
[2018-01-04 13:30:36] security.INFO: Basic authentication failed for user. {"username":"#######","exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\BadCredentialsException(code: 0): Bad credentials. : User \"######\" not found. : Can't contact LDAP server

新年快乐,在此先感谢。 上午。

我有同样的问题,只是删除了加密:“ Symfony \\ Component \\ Ldap \\ Adapter \\ Ext Ldap \\ Adapter”的参数中的tls,

只是移开;

encryption: tls

来自services.yaml

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM