UserAuthenticatedEvent.php 2.21 KB
Newer Older
1
2
3
4
<?php

namespace UnicaenAuth\Event;

5
use UnicaenAuth\Entity\Shibboleth\ShibUser;
6
use UnicaenApp\Entity\Ldap\People;
Bertrand Gauthier's avatar
Bertrand Gauthier committed
7
use Laminas\EventManager\Event;
8
9
10
11
12
13
14
15
16
use ZfcUser\Entity\UserInterface;

/**
 * Classe des événements déclenchés lors de l'authentification de l'utilisateur.
 *
 * @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
 */
class UserAuthenticatedEvent extends Event
{
17
18
    const PRE_PERSIST      = 'prePersist';  // avant que l'entité soit persistée
    const POST_PERSIST     = 'postPersist'; // après que l'entité est persistée
19

20
21
    const PARAM_DB_USER    = 'db_user';
    const PARAM_LDAP_USER  = 'ldap_user';
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    const PARAM_SHIB_USER  = 'shib_user';

    /**
     * Spécifie l'entité utilisateur issue de la base de données.
     *
     * @param UserInterface $dbUser
     * @return UserAuthenticatedEvent
     */
    public function setDbUser(UserInterface $dbUser)
    {
        $this->setParam(self::PARAM_DB_USER, $dbUser);
        return $this;
    }

36
37
    /**
     * Retourne l'entité utilisateur issue de la base de données.
38
     *
39
40
41
42
43
44
45
     * @return UserInterface
     */
    public function getDbUser()
    {
        return $this->getParam(self::PARAM_DB_USER);
    }

46
47
48
49
50
51
52
53
54
55
56
57
    /**
     * Spécifie l'entité utilisateur issue de l'annuaire LDAP.
     *
     * @param People $ldapUser
     * @return UserAuthenticatedEvent
     */
    public function setLdapUser(People $ldapUser)
    {
        $this->setParam(self::PARAM_LDAP_USER, $ldapUser);
        return $this;
    }

58
59
    /**
     * Retourne l'entité utilisateur issue de l'annuaire LDAP.
60
     *
61
62
63
64
65
66
67
68
     * @return People
     */
    public function getLdapUser()
    {
        return $this->getParam(self::PARAM_LDAP_USER);
    }

    /**
69
70
71
     * Spécifie l'entité utilisateur issue de l'authentification Shibboleth.
     *
     * @param ShibUser $shibUser
72
73
     * @return UserAuthenticatedEvent
     */
74
    public function setShibUser(ShibUser $shibUser)
75
    {
76
        $this->setParam(self::PARAM_SHIB_USER, $shibUser);
77
78
79
80
        return $this;
    }

    /**
81
82
83
     * Retourne l'entité utilisateur issue de l'authentification Shibboleth.
     *
     * @return ShibUser
84
     */
85
    public function getShibUser()
86
    {
87
        return $this->getParam(self::PARAM_SHIB_USER);
88
89
    }
}