2013-10-27 1 views
3

데이터베이스에서 관리 할 수있는 FOSUserBundle에 역할을 추가하려고합니다. 나는 문서를 읽고 그것에 착수하기 시작했다. 그러나 내가 시도한 것은 무엇이든 작동하지 않는 것 같다.FOSUserBundle에 데이터베이스 역할을 추가하는 방법

주 문제 : FosUserBundle \ Model \ User 및 FosUserBundle \ Model \ UserInterface는 역할을 배열로 정의합니다. ArrayCollection/RoleInterface로 변환하려고합니다.

처음 시도 : FOSUserBundle \ Model \ User를 확장하는 Acme \ UserBundle \ Entity \ User를 사용하여 재정의하십시오. 하지만 인터페이스에서 정의 된 역할 기능을 무시할 수는 없으므로 작동하지 않습니다.

두번째 시도 : 함수 및 데이터베이스 구조를 만들 수있는 FOS 사용자 및 사용자 인터페이스 모델을 바꾸지 만 다른 문제가 있습니다. FOSUserBundle \ Model \ UserInterface에 대한 참조가 작동하지 않으면 FOSUserBundle의 모든 작업을 수행 할 수 없으므로 역할을 추가하기 위해 수행하려는 것처럼 보이지 않는 전체 번들을 거의 대체해야합니다.

기본적으로 질문 : 전체 번들을 무시하지 않고 데이터베이스 역할을 FOSUserBundle에 추가하려면 어떻게해야합니까? 당신은 당신이 할 수있는 사용자를 확장 할 경우 후에는 역할을 정의 할 때 당신은

ROLE_YOURROLE

에 의해 시작해야

+1

그룹을 살펴보십시오. https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/groups .md –

답변

-1

당신은

$user->addRole('ROLE_XXXXX'); 

를 사용하지만 security.yml 에 HDD ROLE_XXX를 정의해야합니다 모든 것을 을 추가 할 수 있습니다 새 기능 정의

public function ListRole(){ 

     foreach($this->getRoles() as $role){ 

     } 
} 
관련 문제