Я новичок в Symfony2 и пытаюсь подключиться к ldap, используя вышеуказанный пакет; однако я продолжаю получать ошибки Bad credentials. Я не могу понять, почему ..Symfony2 img/LdapBundle Ошибка учетных данных
Мой security.yml файл выглядит следующим образом:
security:
firewalls:
restricted_area:
pattern: ^/login
anonymous: ~
imag_ldap:
check_path: login_check
login_path: login
csrf_provider: form.csrf_provider
intention: authenticate
provider: ldap
logout:
path: /logout
target: /
providers:
ldap:
id: imag_ldap.security.user.provider
encoders:
IMAG\LdapBundle\User\LdapUser: plaintext
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: IS_AUTHENTICATED_FULLY }
imag_ldap:
client:
host: someip
port: 389
# version: 3 # Optional
# username:
# password:
# network_timeout:
# referrals_enabled:
# bind_username_before:
# skip_roles:
user:
base_dn: dc=some, dc=dom, dc=ain
# filter: null
name_attribute: uid
# attributes:
role:
base_dn: dc=some, dc=dom, dc=ain
# filter: null #Optional
name_attribute: cn
user_attribute: member
# user_id: [ dn or username ] #Default dn
моих маршрутов являются следующие:
login:
pattern: /login
defaults: { _controller: IMAGLdapBundle:Default:login }
requirements:
_method: GET
login_check:
pattern: /login_check
logout:
pattern: /logout
Я не могу показаться, чтобы проверить, если его на самом деле подключения, но когда я пытаюсь идти к http://domain/app_dev.php/check_login
я получаю следующее сообщение об ошибке:
Unable to find the controller for path "/login_check". Maybe you forgot to add the matching route in your routing configuration?
Я предполагаю, что мне нужно добавить маршрут для /login_check
, но не уверен. и если да, то как мне назвать соединение ldap?
EDIT
OK Я думаю, что мне нужно рука проведение .. я изменил свое security.yml на следующее:
security:
firewalls:
login_firewall:
pattern: ^/login$
anonymous: ~
imag_ldap:
check_path: login_check
login_path: login
csrf_provider: form.csrf_provider
intention: authenticate
provider: ldap
logout:
path: /logout
target: /
restricted_area:
pattern: ^/
#anonymous: ~
providers:
ldap:
id: imag_ldap.security.user.provider
encoders:
IMAG\LdapBundle\User\LdapUser: plaintext
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: IS_AUTHENTICATED_FULLY }
, но теперь им получаю следующее сообщение об ошибке: LogicException: No authentication listener registered for firewall "restricted_area".
SO я попробовал следующее:
security:
firewalls:
login_firewall:
pattern: ^/login$
anonymous: ~
imag_ldap:
check_path: login_check
login_path: login
csrf_provider: form.csrf_provider
intention: authenticate
provider: ldap
logout:
path: /logout
target: /
restricted_area:
pattern: ^/
#anonymous: ~
imag_ldap:
check_path: login_check
login_path: login
csrf_provider: form.csrf_provider
intention: authenticate
provider: ldap
logout:
path: /logout
target: /
, но это вызывает цикл перенаправления.
Edit 2 Как уже упоминалось в комментариях второй части это отдельный вопрос, который можно найти здесь: Symfony 2 Security.yml redirect loop and LogicException issues
HI, спасибо за это :) Однако я добавил шаблон '' '^/login $' '' к брандмауэру, но я все равно получаю ту же ошибку. –
Я обновил свой ответ. – Mick
обновил мой вопрос, чтобы показать изменения, которые я сделал, и проблемы –