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