['user:read']], security: "is_granted('ROLE_USER')", provider: CurrentUserProvider::class ), ] )] #[ORM\Entity] #[ORM\Table(name: 'users')] #[ORM\UniqueConstraint(name: 'uniq_users_username', fields: ['username'])] class User implements UserInterface, PasswordAuthenticatedUserInterface { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: 'integer')] private ?int $id = null; #[ORM\Column(type: 'string', length: 180)] private string $username = ''; #[ORM\Column(type: 'json')] private array $roles = []; #[ORM\Column(type: 'string')] private string $password = ''; public function getId(): ?int { return $this->id; } public function getUsername(): string { return $this->username; } public function setUsername(string $username): self { $this->username = $username; return $this; } public function getUserIdentifier(): string { return $this->username; } /** * @return list */ public function getRoles(): array { $roles = $this->roles; $roles[] = 'ROLE_USER'; return array_values(array_unique($roles)); } /** * @param list $roles */ public function setRoles(array $roles): self { $this->roles = $roles; return $this; } public function getPassword(): string { return $this->password; } public function setPassword(string $password): self { $this->password = $password; return $this; } public function eraseCredentials(): void {} }