我正忙於在Symfony2中編寫一個API。其中一個API函數是返回所有用戶(並不罕見)。顯然,在我返回用戶列表之前,我必須確保用戶在返回用戶之前已經登錄並且至少具有ROLE_ADMIN。目前,我做這樣的:Symfony2>更容易的方法來確定訪問
public function getAllUsersAction()
{
$user = $this->getUser();
if ($user == null) die("Unauthorized");
$userRoles = $user->getRoles();
$bAuthorized = false;
foreach ($userRoles as $userRole)
if ($userRole->getRole() == "ROLE_ADMIN" || $userRole->getRole() == "ROLE_SUPER_ADMIN")
$bAuthorized = true;
if ($bAuthorized) return createJsonResponse($this->getDoctrine()->getRepository('PmbLicensingBundle:User')->findAll());
else die("Unauthorized");
}
我的問題很簡單是否有Symfony的一個簡單的方法來確定用戶是否登錄並具有ROLE_ADMIN比我服用,因爲它似乎過程相當笨重。