[英]Symfony2 - Access Denied
我正在為我的項目使用Symfony2,我創建了兩個頁面。 一個登錄頁面和一個索引頁面。 我已成功登錄管理員帳戶(使用ROLE_ADMIN
)。
但是我收到了403 Forbidden頁面,其中包含以下錯誤:
錯誤 - 未捕獲的PHP異常
Symfony \\ Component \\ HttpKernel \\ Exception \\ AccessDeniedHttpException:“訪問被拒絕”在。\\ vendor \\ symfony \\ symfony \\ src \\ Symfony \\ Component \\ Security \\ Http \\ Firewall \\ ExceptionListener.php第100行
這是我在security.yml
配置:
access_control:
- { path: ^/vs/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/vs/index, roles: ROLE_ADMIN }
當我var_dump用戶。 我看到角色是空的:
private 'roles' =>
object(Doctrine\ORM\PersistentCollection)[293]
private 'snapshot' =>
array (size=0)
empty
這是我的User.php
的角色:
/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users")
* @ORM\JoinTable(name="user_role",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")}
* )
*/
private $roles;
這是我使用$user->getRoles()
:
array (size=1)
0 =>
object(...\Entity\Role)[397]
private 'id' => int 1
private 'name' => string 'admin' (length=5)
private 'role' => string 'ROLE_ADMIN' (length=10)
private 'users' =>
object(Doctrine\ORM\PersistentCollection)[398]
private 'snapshot' =>
array (size=0)
我做錯了什么?
學說關系注釋是錯誤的:
/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users")
*/
private $roles;
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="roles")
*/
private $users;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.