Bonjour,
j'aimerai comprendre le fonctionnement de roles dans la gestion des utilisateurs dans symfony 4
J'ai implémenté une class Player avec UserInterface. Si j'ai bien compris cela m'impose d'importer 5 fonctions obligatoires.
Je bloque sur la gestion du Json
voici mon code
Entity Player
PlayerController
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 ... class Player implements UserInterface { const ROLESALLOWED = ['ROLE_PLAYER', 'ROLE_POLISTE']; .. /** * @var array * * @ORM\Column(type="json") * @Assert\Choice(choices=Player::ROLESALLOWED, message="ROLE INVALIDE.") * */ private $roles = []; ... public function getRoles() { $roles = $this->roles; // Afin d'être sûr qu'un user a toujours au moins 1 rôle if (empty($roles)) { $roles[] = 'ROLE_PLAYER'; } return array_unique($roles); } public function setRoles(array $roles): void { $this->roles = $roles; }
J'ai un retour comme quoi le ROLE_PLAYER est invalide. Message = ROLE INVALIDE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... $player->setPassword($passwordCrypt) ->setConfirmedAt($today) ->setRoles(['ROLE_PLAYER']); ...
La structure de ma table pour la colonne "roles" :
type : longtext
interclassement : UTF8mb4_general_ci
null : non
commentaires : DC2Type:json
...
Est-ce vraiment du Json ? quel est le bon format ?
J'ai également des problèmes dans mes requêts SQL sur cette colonne ?
Avez-vous des conseils ?
merci pour votre retour
Partager