我正在尝试编写一个条件来检查特定参数和用户凭据。如果用户没有两个凭据之一并传递了正确的参数,他们将被转发到安全登录屏幕。
这就是我所做的工作:
if ($request->getParameter('profile_type') == 'foo' && !$this->getUser()->isAdmin()) {
return $this->redirect('sfGuardAuth/secure');
}
但是我添加了一个新的用户组,所以我需要这样的东西:
if ($request->getParameter('profile_type') == 'foo' && (!$this->getUser()->isAdmin() || !$this->getUser()->isFaculty()) {
return $this->redirect('sfGuardAuth/secure');
}
因此,如果您不是管理员或教职员工,您将获得重定向。
这是语法还是逻辑问题?
更新
这是有效的,但在逻辑上似乎是错误的
if (($request->getParameter('profile_type') == 'foo') && (!$this->getUser()->isAdmin() && !$this->getUser()->isFaculty())) {
return $this->redirect('sfGuardAuth/secure');
}