[Symfony 2][FOSUserBundle] Erreur d'accé au fichier security.yml

Ce sujet est résolu
Default
,

Bonjour à tous,

Je suis ravis d'avoir trouvé un tuto vidéo en français concernant le bundle FOSUserBundle. Je suis bloqué à la mise à jour des bundles à l'aide de composer. Lorsque j’exécute la commande composer.phar update , je me retrouve avec des erreurs :

[Symfony\Component\Config\Exception\FileLoaderLoadException]
  Cannot import resource "E:\wamp\www\urbanmotion\app/config\security.yml" fr
  om "E:\wamp\www\urbanmotion\app/config\config.yml". (There is no extension
  able to load the configuration for "jms_security_extra" (in E:\wamp\www\urb
  anmotion\app/config\security.yml). Looked for namespace "jms_security_extra
  ", found "framework", "security", "twig", "monolog", "swiftmailer", "asseti
  c", "doctrine", "sensio_framework_extra", "urbanmotion_platform", "fos_user
  ", "genemu_form", "web_profiler", "sensio_distribution")
  [Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
  There is no extension able to load the configuration for "jms_security_extr
  a" (in E:\wamp\www\urbanmotion\app/config\security.yml). Looked for namespa
  ce "jms_security_extra", found "framework", "security", "twig", "monolog",
  "swiftmailer", "assetic", "doctrine", "sensio_framework_extra", "urbanmotio
  n_platform", "fos_user", "genemu_form", "web_profiler", "sensio_distributio
  n"
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handl
ing the post-update-cmd event terminated with an exception
  [RuntimeException]
  An error occurred when executing the ""cache:clear --no-warmup"" command.
update --prefer-source] --prefer-dist] --dry-run] --dev] --no-dev] --lock]
 --no-plugins] --no-custom-installers] --no-scripts] --no-progress] --with-
dependencies] -v|vv|vvv|--verbose] -o|--optimize-autoloader] --ignore-platfor
m-reqs] [packages1] ... [packagesN]

J'ai l'impression que le fichier security.yml s'importe lui même :o

imports:

  • { ressource: "@UrbanmotionUserBundle/Ressources/config/security.yml" }

Je pense pourtant avoir suivit le tuto avec soin U.u

Si quelqu'un à une piste je prend !

Merci par avance.

4 Réponse

15803
,

Salut,

les tutos sur symfony 2 sont bien pour avoir les bases, par contre certaines manipulations ou méthodes sont déprécier.

J'ai remarquer cela en suivant moi même tous les tutos sur symfony 2 et en comparant avec la docs fourni par symfony 2, en même temps le framework évolue ce qui est normal.

Je te conseil de suivre les étapes sur le Github de FosuerBundle pour installer ce Bundle.

Default
,

Très bien, merci pour ton retour, je vais voir si j'arrive à résoudre mon problème.

Default
,

Bon eh bien sa marche bien mieux ainsi ! =D

Je n'ai plus d'erreur et j'ai accès au formulaire de connexion. Question rapide, pour remplacer l'alias Login par autre chose, ça se passe ou ? J'avais cru que s'était dans security.yml, mais non ce n'est qu'une autorisation par rapport à un rôle.

Merci en tout cas pour ton conseil.

15803
,

Il faut surchargé la class si je dis pas de bêtise.

Je sais pas si on a fait pareil mais moi j'ai un userbundle qui hérite de FosuserBundle

A la racine de ton bundle tu as une class portant le même nom que ton bundle ( pour l'exemple : Userbundle.php )

dedans j'ai :

class UserBundle extends Bundle
{
    public function getParent()
    {
        return 'FOSUserBundle';
    }
}

Ensuite dans ton dossier Resources > view tu créer un dossier Security et dedans tu crée un fichier login.html.twig

celui-ci va surchargé le fichier originale ( tu peux donc reprendre l'original et changer ce que tu veux)

En gros une fois le code ci-dessus ajouté, il suffit de reprendre la même architecture que le Fosuserbundle et les fichiers surchargeront les originaux.

En espérant être clair sinon voici la doc qui explique ( toujours sur le github )

voir cette doc : Lien