내 컨트롤러에서 사용자에게 역할을 할당하려고합니다. 데이터베이스의 예를 들어 나는이 결과 a:1:{i:0;s:11:"ROLE_DRIVER";}
받고 있지만, 내 응용 프로그램에서 어딘가에는 내가 항상 false를 얻을이Symfony 2의 역할 할당
if ($securityContext->isGranted('ROLE_DRIVER')) {
을하려고 할 때. 프로파일 러에서 현재 사용자는 _DRIVER
대신 ROLE_USER
입니다. 내 문제는 어디에 있습니까? 여기 내 역할 할당입니다 :
$user->setRoles(array(1 => 'ROLE_DRIVER'));
사용자 설정 :
# FOSUserBundle configuration
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: Vputi\UserBundle\Entity\User
registration:
form:
type: vputi_user_registration
profile:
form:
type: vputi_user_profile
change_password:
form:
type: vputi_user_change_password
name: vputi_user_change_password
나뭇 가지에 나는이 수행 할 때
{% if user.roles[0] == 'ROLE_DRIVER' %}
모든 컨트롤러에 ...
FOSUserBundle을 사용하고 있습니까? User 객체의 코드 일부를 제공 할 수 있습니까? 보안에 대한 몇 가지 구성이 있습니까? –
예, FOSUserBundle을 사용하고 있습니다. 나는 질문 본문에 내 구성을 추가합니다. – nowiko
당신은 로그 아웃 한 다음 다시 로그 아웃 했습니까? – qooplmao