/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/authentication/docs/fr
NameSizeModeActions
authentication-component.rst44970644editdlrm
authenticators.rst231100644editdlrm
conf.py2610644editdlrm
contents.rst3120644editdlrm
identifiers.rst70970644editdlrm
identity-object.rst37710644editdlrm
index.rst96630644editdlrm
middleware.rst31090644editdlrm
migration-from-the-authcomponent.rst127360644editdlrm
password-hashers.rst31000644editdlrm
testing.rst20260644editdlrm
url-checkers.rst12910644editdlrm
view-helper.rst9240644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/authentication/docs/fr/identity-object.rst (3771B)
Objets Identité ############### Les objets Identité sont renvoyés par le service d'authentification et rendus disponibles dans la requête. Les identités fournissent une méthode ``getIdentifier()`` qui peut être appelée pour obtenir dans l'identité la valeur de l'identifiant primaire de la connexion en cours. La raison pour laquelle cet objet existe est le besoin de fournir une interface qui réalise ces implémentations/sources:: // Service $authenticationService ->getIdentity() ->getIdentifier() // Component $this->Authentication ->getIdentity() ->getIdentifier(); // Request $this->request ->getAttribute('identity') ->getIdentifier(); L'objet identité fournit ArrayAccess mais aussi une méthode ``get()`` pour accéder aux données. Il est fortement recommandé d'utiliser la méthode ``get()`` plutôt qu'un accès à la façon des tableaux parce que la méthode ``get()`` a connaissance du mappage des champs:: $identity->get('email'); $identity->get('username'); La méthode ``get()`` peut aussi être typée explicitement *via* un méta-fichier EDI, par exemple avec `IdeHelper `__. Si vous voulez, vous pouvez malgré tout utiliser l'accès par propriétés:: $identity->email; $identity->username; La classe par défaut de l'objet identité peut être configurée pour mapper des champs. C'est particulièrement utile si l'identifiant de l'identité n'est pas un champ conventionnel ``id`` ou si vous voulez mapper des champs avec des noms plus généraux ou plus communs:: $identity = new Identity($data, [ 'fieldMap' => [ 'id' => 'uid', 'username' => 'prenom' ] ]); Créer votre propre Objet Identité --------------------------------- Par défaut le plugin Authentication va envelopper les données utilisateur renvoyées dans un ``IdentityDecorator`` qui mandate (*proxy*) l'accès aux méthodes et aux propriétés. Si vous voulez créer votre propre objet identité, votre objet doit implémenter ``IdentityInterface``. Implémenter IdentityInterface dans votre classe User ---------------------------------------------------- Si vous voulez continuer à utiliser votre classe User existante avec ce plugin, vous pouvez implémenter l'interface ``Authentication\IdentityInterface``:: namespace App\Model\Entity; use Authentication\IdentityInterface; use Cake\ORM\Entity; class User extends Entity implements IdentityInterface { /** * Authentication\IdentityInterface method */ public function getIdentifier() { return $this->id; } /** * Authentication\IdentityInterface method */ public function getOriginalData() { return $this; } // Autres méthodes } Utiliser un Décorateur d'Identité Personnalisé ---------------------------------------------- Si les objets résultant de vos identificateurs ne peuvent pas être modifiés pour implémenter l'interface ``IdentityInterface``, vous pouvez implémenter un décorateur personnalisé qui l'implémente lui-même:: // Vous pouvez utiliser un callable... $identityResolver = function ($data) { return new MyCustomIdentity($data); }; //...ou un nom de classe pour définir le wrapper d'identité. $identityResolver = MyCustomIdentity::class; // Ensuite passez-le dans la configuration du service $service = new AuthenticationService([ 'identityClass' => $identityResolver, 'identifiers' => [ 'Authentication.Password' ], 'authenticators' => [ 'Authentication.Form' ] ]);