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 :

Authentification à partir d'une base de données [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut Authentification à partir d'une base de données
    Bonjour,
    Malgré les quelques infos sur le net, je n'arrive pas à réaliser une authentification à partir de données contenues dans une table.
    J'y arrive simplement en "dur" en mettant les users autorisés dans le fichier securite.yml

    Quelqu'un pourrait m'aiguiller pour le réaliser ( je suis sur Symfony 2 ).

    J'ai ceci à l'heure actuelle :

    securite.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
    security:
        firewalls:
            secured_area:
                pattern:    ^/
                anonymous: ~
                http_basic:
                    realm: "Secured Demo Area"
     
        access_control:
            - { path: ^/admin, roles: ROLE_ADMIN }
     
        providers:
            in_memory:
                users:
                    ryan:  { password: ryanpass, roles: 'ROLE_USER' }
                    admin: { password: kitten, roles: 'ROLE_ADMIN' }
     
        encoders:
            Symfony\Component\Security\Core\User\User: plaintext

    routing:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    login:
        pattern:   /login
        defaults:  { _controller: LimaSecurityBundle:Security:login }
    login_check:
        pattern:   /login_check
    Controller:

    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
    <?php
     
    namespace Lima\SecurityBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\Security\Core\SecurityContext;
     
    class SecurityController extends Controller
    {
        public function loginAction()
        {
            $request = $this->getRequest();
            $session = $request->getSession();
     
            // get the login error if there is one
            if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
                $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
            } else {
                $error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
            }
     
            return $this->render('LimaSecurityBundle:Security:login.html.twig', array(
                // last username entered by the user
                'last_username' => $session->get(SecurityContext::LAST_USERNAME),
                'error'         => $error,
            ));
        }
    }

    Vue:

    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
    {% if error %}
        <div>{{ error.message }}</div>
    {% endif %}
     
    <form action="{{ path('login_check') }}" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="_username" value="{{ last_username }}" />
     
        <label for="password">Password:</label>
        <input type="password" id="password" name="_password" />
     
        {#
            If you want to control the URL the user is redirected to on success (more details below)
            <input type="hidden" name="_target_path" value="/account" />
        #}
     
        <input type="submit" name="login" />
    </form>
    Merci d'avance pour votre aide

  2. #2
    Membre actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Points : 206
    Points
    206
    Par défaut symfony2 security
    Voilà mon blog, j’espère qu'il peut vous aidez:

    http://hazamor.over-blog.com/article...-91974825.html


  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut
    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] [Sécurité] Authentification a partir d'une base de données
    Par koukou2013 dans le forum Symfony
    Réponses: 3
    Dernier message: 11/03/2013, 18h22
  2. [1.x] Authentification à partir d'une base de données
    Par arngrimur dans le forum Symfony
    Réponses: 1
    Dernier message: 07/12/2011, 16h08
  3. réplication à partir d'une base de données heterogène
    Par elbennaoui dans le forum Réplications
    Réponses: 1
    Dernier message: 16/11/2005, 16h05
  4. afficher une image à partir d'une base de données access
    Par zidenne dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2005, 11h41

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