2016-06-08 4 views
0

Write eine Symfony3 App und muss mit einem AD über LDAP verbinden, um einen Benutzer einzuloggen. Ich habe etwas gegoogelt und gefunden: ldap setup also habe ich dieses Dokument durchgegangen, aber diesen Fehler erhalten:Symfony3 imag ldap Konfiguration einrichten

Whoops, looks like something went wrong. 

1/1 
ServiceNotFoundException in CheckExceptionOnInvalidReferenceBehaviorPass.php line 58: 
The service "security.firewall.map.context.restricted_area" has a dependency on a non-existent service "security.context". 
in CheckExceptionOnInvalidReferenceBehaviorPass.php line 58 

at CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(array(object(Reference), object(Reference), object(Reference), object(Definition), 'restricted_area', object(Definition), object(Definition), array('check_path' => '/login_check', 'use_forward' => false, 'require_previous_session' => true, 'username_parameter' => '_username', 'password_parameter' => '_password', 'csrf_parameter' => '_csrf_token', 'intention' => 'ldap_authenticate', 'post_only' => true), object(Reference), object(Reference))) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 42 
at CheckExceptionOnInvalidReferenceBehaviorPass->processDefinition(object(Definition)) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 53 
at CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(array(object(Definition), object(Definition), object(Definition), object(Definition), object(Definition), object(Definition))) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 51 
at CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(array(array(object(Definition), object(Definition), object(Definition), object(Definition), object(Definition), object(Definition)), object(Definition))) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 42 
at CheckExceptionOnInvalidReferenceBehaviorPass->processDefinition(object(Definition)) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 36 
at CheckExceptionOnInvalidReferenceBehaviorPass->process(object(ContainerBuilder)) in Compiler.php line 104 
at Compiler->compile(object(ContainerBuilder)) in ContainerBuilder.php line 545 
at ContainerBuilder->compile() in Kernel.php line 477 
at Kernel->initializeContainer() in Kernel.php line 117 
at Kernel->boot() in Kernel.php line 166 
at Kernel->handle(object(Request)) in app_dev.php line 30 

security.yml:

# To get started with security, check out the documentation: 
# http://symfony.com/doc/current/book/security.html 
security: 
    firewalls: 
     restricted_area: 
     pattern:   ^/ 
     anonymous:  ~ 
     provider:   ldap 
     imag_ldap:  ~ 
      # alternative configuration 
      # imag_ldap: 
      # login_path: /ninja/login 
     logout: 
      path:   /logout 
      target:  /

    providers: 
     chain_provider: 
     chain: 
      providers: [fos_userbundle, ldap] 
     fos_userbundle: 
     id: fos_user.user_provider.username 
     ldap: 
     id: imag_ldap.security.user.provider 

    encoders: 
     FOS\UserBundle\Model\UserInterface: bcrypt 
     IMAG\LdapBundle\User\LdapUser: plaintext 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/, roles: IS_AUTHENTICATED_FULLY } 
     - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/admin/, role: ROLE_ADMIN } 

imag_ldap: 
    client: 
    host: someip 
    port: 389 
     # version: 3 # Optional 
     # username: foo # Optional 
     # password: bar # Optional 
     # network_timeout: 10 # Optional 
     # referrals_enabled: true # Optional 
     # bind_username_before: true # Optional 
     # skip_roles: false # Optional 

    user: 
    base_dn: ou=group, dc=host, dc=foo 
     # filter: (&(foo=bar)(ObjectClass=Person)) #Optional 
    name_attribute: uid 
    role: 
    base_dn: ou=group, dc=host, dc=foo 
     # filter: (ou=group) #Optional 
    name_attribute: cn 
    user_attribute: member 
# user_id: [ dn || username ] 

    # user_class: IMAG\LdapBundle\User\LdapUser # Optional 

Von dem, was ich verstehe die secyrity.yml eine Abhängigkeit von Kontext hat aber in der ldap einrichten docs nichts darüber erwähnt ...?

Vielleicht mache ich etwas falsch?

Antwort