Bonsoir,
J'ouvre ce topic car je me pose pas mal de questions théoriques quant au processus de traitement des formulaires de login.
J'ai crée 2 entités, User et Role, héritant de leurs interfaces respective.
L'étape suivante et de toucher aux fichier security.yml, et là, j'avoue que je m'en sert un peu sans vraiment comprendre le fonctionnement.
Prenons l'exemple d'une identification basée sur table (User et Role):
routing.yml
security.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 login: pattern: /login defaults: { _controller: ProjExempleBundle:Security:login } check: pattern: /login_check
Je ne vais pas vous afficher le formulaire de login ce ne serait pas très intéressant, mais il faut savoir qu'il pointe vers la route "check".
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 security: encoders: Symfony\Component\Security\Core\User\User: algorithm: sha512 encode-as-base64: true iterations: 10 providers: main: entity: { class:ProjExempleBundle:User, property: login } firewalls: main: pattern: /.* form_login: check_path: /login_check login_path: /login logout: true security: true anonymous: true access_control: - { path: /admin.*, role: ROLE_ADMIN } - { path: /.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
Une fois que le firewall a récupérer le formulaire, pour traiter le résultat, va t-il utiliser le "encoders" ? Si oui
1] Comment sait-il qu'il soit l'appliquer seulement sur le password (comment identifie t-il se champ du formulaire ? Et de l'entité, grâce à l'interface je suppose ?)
2] Si on a applique un 'salt' au pass avant de l'entrer en base, par exemple:
Comment Symfony2 va pouvoir matcher avec le pass entré en base, ce dernier étant base sur un cryptage en rapport à un instant t ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part $user->setSalt(md5(time()));
Merci à la personne qui saura m'apporter ces précieuses explications !
Partager