Probléme fos user

Par lagnadi, il y a 10 ans


Bonjour
J'ai suivi toute l'installation du bundle fos user. Mais j'ai une erreur :(
InvalidConfigurationException: Unrecognized options "csrf_token_generator" under "security.firewalls.main.form_login"

Aidez-moi comment puis-je y remedier ?

Merci

Mon config.yml

imports: - { resource: parameters.yml } - { resource: security.yml } framework: csrf_protection: enabled: true #esi: ~ #translator: { fallback: "%locale%" } secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } templating: engines: ['twig'] #assets_version: SomeVersionScheme default_locale: "%locale%" trusted_hosts: ~ trusted_proxies: ~ session: # handler_id set to null will use default session handler from php.ini handler_id: ~ fragments: ~ http_method_override: true fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs # Twig Configuration twig: debug: "%kernel.debug%" strict_variables: "%kernel.debug%" # Assetic Configuration assetic: debug: "%kernel.debug%" use_controller: false bundles: [ ] #java: /usr/bin/java filters: cssrewrite: ~ #closure: # jar: "%kernel.root_dir%/Resources/java/compiler.jar" #yui_css: # jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar" # Doctrine Configuration doctrine: dbal: driver: "%database_driver%" host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 # if using pdo_sqlite as your database driver: # 1. add the path in parameters.yml # e.g. database_path: "%kernel.root_dir%/data/data.db3" # 2. Uncomment database_path in parameters.yml.dist # 3. Uncomment next line: # path: "%database_path%" orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory }

security.yml

security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN providers: fos_userbundle: id: fos_user.user_provider.username firewalls: main: pattern: ^/ form_login: provider: fos_userbundle csrf_token_generator: security.csrf.token_manager # if you are using Symfony < 2.8, use the following config instead: csrf_provider: form.csrf_provider logout: true anonymous: true dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false login: pattern: ^/demo/secured/login$ security: false secured_area: pattern: ^/demo/secured/ form_login: check_path: _security_check login_path: _demo_login logout: path: _demo_logout target: _demo #anonymous: ~ #http_basic: # realm: "Secured Demo Area" access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, role: ROLE_ADMIN }

5 réponses

lagnadi, il y a 10 ans

Slt,

Effectivement j'ai fait une recherche sur google et je trouve ce solution

j'ai ajouter ceci dans le fichier config.yml

services:
fos_user.d# Doctrine Configurationoctrine_registry:
alias: doctrine

Merci bcp dycom.

dycom, il y a 10 ans

Slt tu utilise quel version de symfony ? parce que dans ton security.yml tu semble avoir un problème, tu à 2 config différentes:

csrf_token_generator: security.csrf.token_manager # if you are using Symfony < 2.8, use the following config instead: csrf_provider: form.csrf_provider

Commence par enlever les deux dernière ligne de cette partie si tu à une version infèrieur à 2.8, sinon tu enlève la première ligne, le commentaire est plutôt explicite. ça va peut-être régler ton problème.

Et sinon essaye de rajouter secured_area: après firewall dans ton security.yml:

firewalls: secured_area: main: pattern: ^/ form_login: provider: fos_userbundle csrf_token_generator: security.csrf.token_manager # if you are using Symfony < 2.8, use the following config instead: # csrf_provider: form.csrf_provider logout: true anonymous: true dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false login: pattern: ^/demo/secured/login$ security: false

Ta partie firewall devrai ressembler à ça.

Bye ;)

lagnadi, il y a 10 ans

Bonjour,

Merci pour ta réponse

Ma version symfony est 2.4 : "symfony/symfony": "2.4.*",

Alors j'ai désactivé la première ligne comme ci-après mais ça ne marche pas y a un autre message d'erreur qui apparaître :(

ServiceNotFoundException: You have requested a non-existent service "fos_user.doctrine_registry".

security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN providers: fos_userbundle: id: fos_user.user_provider.username firewalls: secured_area: main: pattern: ^/ form_login: provider: fos_userbundle # csrf_token_generator: security.csrf.token_manager # if you are using Symfony < 2.8, use the following config instead: csrf_provider: form.csrf_provider logout: true anonymous: true dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false login: pattern: ^/demo/secured/login$ security: false secured_area: pattern: ^/demo/secured/ form_login: check_path: _security_check login_path: _demo_login logout: path: _demo_logout target: _demo #anonymous: ~ #http_basic: # realm: "Secured Demo Area" access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, role: ROLE_ADMIN }
dycom, il y a 10 ans

Slt cette nouvelle erreur semble venir de ton security.yml:

Essaye en ajoutant ceci:

services: fos_user.doctrine_registry: alias: doctrine

Si tu veut trouver la solution la première chose à faire et de taper ton erreur dans google, la plupart du temp tu à la réponse en cherchant un peu. ;)

Petite recherche ;)

Underscreen, il y a 10 ans

Salut
Pense à mettre ce sujet en résolu pour les autres ça peut aider ! :)