Bonjour à tous ,
j'utilise une application sur symfony 2.0 , j'aimerais qu’après déconnexion on puisse enregistrer des informations en base de donnée
pour cela j'utilise le fichiervoici mon code complet (dans le fichier SessionLogoutHandler.php ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SessionLogoutHandler.php
lorsque je me déconnecter j'ai une erreur:
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 namespace Symfony\Component\Security\Http\Logout; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; use Compta\MyappliBundle\Entity\LogTache; use Compta\MyappliBundle\Entity\User; use Doctrine\ORM\EntityManager; class SessionLogoutHandler implements LogoutHandlerInterface { public function logout(Request $request, Response $response, TokenInterface $token) { $em = $this->getDoctrine()->getEntityManager(); $user= $this->get('security.context')->getToken()->getUser(); $u = new LogTache(); $u->setDate(new \DateTime()); $u->setUser($user->getUsername()); $u->setActioneffectue('Déconnexion'); $em->persist($u); $em->flush($u); $request->getSession()->invalidate(); } }
je rappelle que le code de déconnexion est automatique et la méthode utilisée est:Fatal error: Call to undefined method Symfony\Component\Security\Http\Logout\SessionLogoutHandler::getDoctrine() in C:\wamp\www\MyAppli\vendor\symfony\src\Symfony\Component\Security\Http\Logout\SessionLogoutHandler.php on line 17dans le fichier routing.yml/logout
dans le fichier security.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 logout: pattern: /logout
Comment résoudre cette erreur ?
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 security: encoders: Symfony\Component\Security\Core\User\User: plaintext Compta\MyappliBundle\Entity\User: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] providers: in_memory: users: user: { password: userpass, roles: [ 'ROLE_USER' ] } admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] } main: entity: { class: Compta\MyappliBundle\Entity\User, property: username } firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: pattern: ^/ anonymous: true provider: main form_login: login_path: login check_path: login_check logout: path: logout target: /login access_control: - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/_profiler, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: /login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, roles: IS_AUTHENTICATED_FULLY }
Partager