簡體   English   中英

Symfony 4:無法作為ROLE_ADMIN訪問

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM