[英]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.