IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

souci de connexion -> FOS


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Points : 49
    Points
    49
    Par défaut souci de connexion -> FOS
    Bonjour à toutes et tous,

    Je rencontre un petit souci avec le site que je suis en train de développer.

    J’utilise FOS en 2 endroits différents:

    ==> pour la connexion à l’admin
    ==> pour la création de comptes et la connexion au front.
    En ce qui concerne le front, j’ai 2 types d’utilisateurs:
    ==> auteurs
    ==> lecteurs

    Le souci se situe au niveau du formulaire de login du front: quand je tente de me connecter, je suis redirigée vers le formulaire de login de l’admin.

    Ca doit donc être un souci au niveau des routes, mais je ne vois pas où:

    Mon fichier security.yml:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    security:
        encoders:
            FOS\UserBundle\Model\UserInterface: sha512
    #        Site\UserBundle\Entity\User: sha512
    #        Symfony\Component\Security\Core\User\User: plaintext
     
        role_hierarchy:
            ROLE_ADMIN:         ROLE_MEMBER
            ROLE_READER:        ROLE_USER
            ROLE_AUTHOR:        ROLE_USER
            ROLE_SUPER_ADMIN:   [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
     
        providers:
            fos_userbundle:
                id: fos_user.user_provider.username
     
        firewalls:
            dev:
                pattern:  ^/(_(profiler|wdt)|css|images|js)/
                security: false
            admin_login:
               pattern: ^/admin/login$
               anonymous: true
            admin:
               pattern: ^/
               form_login:
                   provider: fos_userbundle
                   check_path: /admin/login_check
                   login_path: /admin/login
                   always_use_default_target_path: true
                   default_target_path: /admin
                   target_path_parameter: _target_path
               logout:
                   path: /admin/logout
                   target: /admin/login
               anonymous: true    
            members_login:
               pattern: ^/user/login$
               anonymous: true
            members:
               pattern: ^/
               form_login:
                   provider: fos_userbundle
                   check_path: /user/login_check
                   login_path: /user/login
                   always_use_default_target_path: true
                   default_target_path: /site
                   target_path_parameter: _target_path
               logout:
                   path: /user/logout
                   target: /user/login
               anonymous: true
     
        access_control:
            - { path: ^/user/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/admin, role: ROLE_ADMIN }
            - { path: ^/user/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/user/confirmed, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/user/check-email, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/user/confirm, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/user, role: ROLE_USER }
    Dans le config:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # FOSUser
    fos_user:
        db_driver:     orm                        
        firewall_name: members                       
        user_class:    Site\UserBundle\Entity\User 
        registration:
            form:
                type: site_user_registration
            confirmation:
                enabled:  true
                from_email:
                    address: info@ddd.be
                    sender_name: DDD
     
    site_user:
        login_routes:
            site_admin_login:
               login_check_route: isl_admin_check
               template: "SiteAdminBundle:Admin:login.html.twig"
            site_user_login:
                login_check_route: site_user_check
                template: « SiteUserBundle:Security:login.html.twig"


    SecurityController (dans le UserBundle):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
     
    namespace Site\UserBundle\Controller;
     
    use Symfony\Component\DependencyInjection\ContainerAware;
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\Security\Core\SecurityContext;
    use FOS\UserBundle\Controller\SecurityController as BaseController;
     
    class SecurityController extends BaseController
    {
     
        protected function renderLogin(array $data) {
            $requestAttributes = $this->container->get('request')->attributes;
            $params = $this->container->getParameter('site_user');
            $route = $requestAttributes->get('_route');
     
            if(!isset($params['login_routes'][$route])){
                throw new \Exception('La route de connexion '.$route.' n\'est pas définie.');
            }
     
            $template = $params['login_routes'][$route]['template'];
            $data['login_check_route'] = $params['login_routes'][$route]['template'];
     
            return $this->container->get('templating')->renderResponse($template, $data);
        }
    }
    D’autres fichiers rentrent peut-être en compte, mais histoire de ne pas encombre le message, je ne mets ce ceux çi.
    Si d’autres fichiers sont nécessaire pour m’aider, merci de le signaler ;-)

    D’avance merci pour votre aide.

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yoooo man rastafariiiiiiiiiiiiiiiiiiiiiiiiiiiiii


    sans avoir regarder ton code, moi j'utilise un LoginHandler afin de determiner qui s'est connecté et en fonction du rôle de rediriger là ou là.

    http://www.reecefowell.com/2011/10/2...loginhandlers/

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Points : 49
    Points
    49
    Par défaut
    Merci pour l'info, je vais aller jeter un oeil sur ce lien. Ca me semble intéressant à première vue

    Bonne journée, et bon weekend

Discussions similaires

  1. [MySQL] soucis de connexion sur base en ligne
    Par No3l_tek dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/05/2008, 14h15
  2. Souci de connexion SharePoint / SqlServeur
    Par cocosql dans le forum SharePoint
    Réponses: 4
    Dernier message: 21/05/2008, 10h51
  3. club internet : petit souci de connexion
    Par hiko-seijuro dans le forum Dépannage et Assistance
    Réponses: 20
    Dernier message: 29/10/2006, 12h35
  4. soucis de connexion réseau
    Par arfy dans le forum Administration
    Réponses: 3
    Dernier message: 26/12/2005, 12h23
  5. Souci de connexion internet via PPPoE sous Knoppix
    Par Anomaly dans le forum Réseau
    Réponses: 11
    Dernier message: 23/09/2004, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo