2014-06-06 2 views

답변

1

User 엔티티에서 관리자 및 비 관리자 사용자 간의 차이점을 만드는 방법에 따라 다릅니다. 이 부울 플래그 만 있다면 (의이 admin 속성을 가정 해 봅시다) :

User.php

private $admin; 
// your attributes 

public function isAdmin() 
{ 
    return $this->admin; 
} 

public function setAdmin($boolean) 
{ 
    $this->admin = $boolean; 
} 
// getters/setters 

FooController.php

public function showAdminPanelAction() 
{ 
    if(!$this->getUser()->isAdmin()) { 
     throw new AccessDeniedHttpException('Forbidden Access'); 
    } 
    else 
    { 
     // do your stuff 
    } 
} 

하지만 Symfony2 역할이 일을 더 쉽게 만들고있다 두 가지 이상의 다른 역할, 계층 구조, 많은 사용자 등이있는 경우 ...

+0

나는 비슷한 대안에 대해 이미 생각했지만 당신이 더 좋아 보인다 :) thx –

+0

나는 이것을 가지고있다 : 치명적인 오류 : 멤버 함수 isAdmin()을 호출한다. –

+0

$ this-> getUser()에서 var_dump()를 시도 하시겠습니까? 사용자를 어떻게 관리합니까? – Rybus

관련 문제