Je commence par Symfony 4 et je souhaite installer FosUserBundle avec ce lien: https://symfony.com/doc/master/bundles /FOSUserBundle/index.html
D'abord:
Mon problème est que je ne sais pas où trouver le fichier "app/config/config.yml" pour décommenter le traducteur et configurer:
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%"
Seconde:
Je pense que je dois créer le fichier security.yml dans le répertoire "config/packages /", c'est bien ça?
Troisième:
Et dans quel fichier ajouter l'itinéraire?
Pourrais-tu m'aider s'il te plait ? :)
J'ai résolu le problème suivi ceci:
téléchargez FOSUserBundle en utilisant composer:
composer a besoin de friendsofsymfony/user-bundle "~ 2.0"
A la fin de l'installation, vous aurez le message d'erreur suivant:
Le noeud enfant "db_driver" du chemin "fos_user" doit être configuré.
<?php //src/Entity/User.php namespace App\Entity; use FOS\UserBundle\Model\User as BaseUser; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="fos_user") */ class User extends BaseUser { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; public function __construct() { parent::__construct(); // your own logic } }
security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers providers: fos_userbundle: id: fos_user.user_provider.username firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: pattern: ^/ form_login: provider: fos_userbundle csrf_token_generator: security.csrf.token_manager logout: true anonymous: true # Easy way to control access for large sections of your site # Note: Only the *first* access control that matches will be used access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/, role: ROLE_ADMIN }
fos_user: db_driver: orm # other valid values are 'mongodb' and 'couchdb' firewall_name: main user_class: App\Entity\User from_email: address: "[email protected]" sender_name: "[email protected]"
Mettez à jour config/packages/framework.yaml pour ajouter une configuration de modèle
framework: templating: engines: ['twig', 'php']
fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"
php bin/console doctrine: base de données: créer
Mettre à jour le schéma avec les informations de votre entité de classe User
doctrine php bin/console: schema: update --force
À ce stade, tout est installé et configuré pour utiliser FOSUserBundle dans Symfony 4. Exécutez la commande suivante pour vérifier si tout va bien
mise à jour du compositeur
Si vous n'avez pas de message d'erreur, vous pouvez tester! Vous pouvez exécuter le serveur Web pour tester votre application
serveur php bin/console: start
tous les tutoriels ici : https://vfac.fr/blog/how-install-fosuserbundle-with-symfony-4
C'est la solution que j'ai trouvée pour fonctionner.
Première:
app/config/config.yml
n'existe plus à la place, les configurations ont été déplacées dans le dossier config. Pour le groupe d'utilisateurs FOS au bon emplacement: /config/packages/fos_user.yaml
. Comme déjà noté, utilisez la version dev-master FOSUserBundle, elle supporte 4 (encore un peu de travail en cours mais assez bon).
Seconde:
Vous avez raison, une solution simple consiste à faire un composer require security
et la recette s’occupe de cela pour vous. https://symfony.com/doc/current/security.html pour plus d'informations.
Troisième:
Les itinéraires par défaut du groupe d'utilisateurs FOS: fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"
Plus d'informations sur le routage FOS (étape 6) sont utiles https://symfony.com/doc/master/bundles/FOSUserBundle/index.html
De plus, je vous recommande de consulter les exemples de yaml dans la documentation de routage de symfony. Cela peut rendre les choses un peu plus claires lors de la configuration des itinéraires par rapport au groupe d'utilisateurs FOS. https://symfony.com/doc/current/routing.html
ok j'ai le même problème et ça devrait être comme ça d'abord: comme @sean Baharmi dit que tu devrais créer /config/packages/fos_user.yaml et une configuration inter comme celle-ci
fos_user:
db_driver: orm
firewall_name: main
user_class: App\Entity\Users
from_email:
address: "[email protected]"
sender_name: "Sender Name"
puis dans framework.yaml, vous devez entrer ce qui suit à cause de FOSUserBundle
dépendances
templating:
engines: ['twig', 'php']
aussi pour ajouter le routage dans /config/rourtes/routes.yaml add
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
alors il est prêt à travailler
l'espoir fonctionne pour vous
Vous ne pouvez pas utiliser FOSUSerBundle sur Symfony4 pour le moment. Le support n'a pas encore été fusionné. Vous pouvez suivre le développement ici .
Si vous voulez utiliser FOSUserBundle avec Symfony4, vous pouvez essayer le correctif fourni par Ryan ici .