0
로그인 폼이 있고 로그인 후에 일부 링크가 표시됩니다. 관리자가 아닌 사용자가 특정 페이지를 클릭하거나 전달하지 못하도록하고 싶습니다. 너무 복잡하기 때문에 symfony2 ROLES를 사용하고 싶지 않습니다. 더 쉬운 것이 있습니까?일부 사용자가 일부 페이지를 볼 수 없도록 차단합니다.
로그인 폼이 있고 로그인 후에 일부 링크가 표시됩니다. 관리자가 아닌 사용자가 특정 페이지를 클릭하거나 전달하지 못하도록하고 싶습니다. 너무 복잡하기 때문에 symfony2 ROLES를 사용하고 싶지 않습니다. 더 쉬운 것이 있습니까?일부 사용자가 일부 페이지를 볼 수 없도록 차단합니다.
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 역할이 일을 더 쉽게 만들고있다 두 가지 이상의 다른 역할, 계층 구조, 많은 사용자 등이있는 경우 ...
나는 비슷한 대안에 대해 이미 생각했지만 당신이 더 좋아 보인다 :) thx –
나는 이것을 가지고있다 : 치명적인 오류 : 멤버 함수 isAdmin()을 호출한다. –
$ this-> getUser()에서 var_dump()를 시도 하시겠습니까? 사용자를 어떻게 관리합니까? – Rybus