我有一个登录表单,登录后我会显示一些链接: 我想阻止非管理员用户点击或转发到特定页面。 我不想使用symfony2 ROLES,因为它太复杂了。 有更容易的事吗?
答案 0 :(得分: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角色会让事情变得更容易......