Symfony 3.1을 사용하는 응용 프로그램을 개발 중이며 Ldap 인증에 문제가 있습니다. 다음 코드 :Symfony 3.1 Ldap 인증이 작동하지 않습니다.
services.yml
ldap:
class: 'Symfony\Component\Ldap\LdapClient'
arguments:
- server.test.br # host
- 389 # port
- 3 # version
- false # SSL
- false # TLS
security.yml
security:
providers:
chain_provider:
chain:
providers: [my_ldap]
my_ldap:
ldap:
service: ldap
base_dn: dc=test,dc=br
search_dn: cn=s00027,ou=Contas Administrativas de Sistemas,ou=Departamento de Tecnologia,dc=test,dc=br
search_password: pass
default_roles: ROLE_USER
uid_key: sAMAccountName
filter: '({uid_key}={username})'
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
anonymous: true
pattern: ^/
form_login_ldap:
provider: chain_provider
service: ldap
dn_string: 'sAMAccountName={username}'
check_path: /login_check
login_path: /login
logout:
path: /logout
target:/
default:
form_login_ldap:
provider: chain_provider
service: ldap
dn_string: "uid={username},DC=test,DC=br"
check_path: /login_check
login_path: /login
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
SecurityController.php
/**
* @Route("/login_check", name="login_check")
*/
public function loginAction(Request $request) {
$authenticationUtils = $this->get('security.authentication_utils');
$error = $authenticationUtils->getLastAuthenticationError();
$lastUsername = $authenticationUtils->getLastUsername();
return $this->render(
'AppBundle:Security:login.html.twig', array(
// last username entered by the user
'last_username' => $lastUsername,
'error' => $error,
)
);
}
나는 내가 할 수있는 모든 노력을하고 로그에서 오류를받지 않은 LdapClient 클래스에 대한 메시지 만 사용되지 않습니다.
아무도 도와 줄 수 있습니까? 부디.
'var/logs/dev.log'를 체크인하고 URL에'app_dev.php'를 추가하여 DEV 환경을 사용해 보았습니까? 디버그 URL에 자세한 정보가 표시 될 수 있습니다. –
예! 심포니 3.1 및 ldap에 대한 모든 Stackoverflow 자습서를 검색했으며 성공하지 못했습니다. 하지만 도와 줘서 고마워! – fabionvs
이 광고 또는 OpenLDAP입니까? 'sAMAccountName'의 모습에서 AD를 추측 할 수 있을까요? 그렇다면'dn_string : 'sAMAccountName = {username}'을'dn_string : '{username}'' – ChadSikorra