[英]Symfony 4: cannot access as ROLE_ADMIN
我的角色列值: ["ROLE_ADMIN"]
我的實體/用戶:
/**
* @ORM\Column(type="json", nullable=true)
*/
private $roles = [];
public function getRoles() : ?array {
$roles = $this->roles;
$roles[] = 'ROLE_USER';
return array_unique($roles);
}
$currentUser->getRoles();
在var_dump
給我這個:
array(2) { [0]=> string(10) "ROLE_ADMIN" [1]=> string(9) "ROLE_USER" }
我的security.yaml:
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
Profiler工具欄告訴我我已登錄。
但我仍然看到了這樣的信息:
Symfony\Component\HttpKernel\Exception\
AccessDeniedHttpException
但是當我將security.yaml更改為:
access_control:
- { path: ^/admin, roles: ROLE_USER }
然后Exception消失了。
我錯過了什么?
嘗試注銷並登錄,symfony將角色保留在記住我的令牌中,您可以在profiler,security選項卡中檢查當前分配的角色。 最有可能的角色不是記住我的cookie,這就是為什么它不會讓你訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.