这个想法很简单。如果您未登录,则无法访问除注册和登录页面之外的任何页面。如果您已登录,则可以访问除注册页面之外的所有页面。
现在,其中一半是通过使用 CakePHP 的 Auth 组件实现的。这会在未登录时限制访问,并在登录时允许访问。
我在执行此操作时偶然发现的问题是在登录时限制对注册页面的访问。我尝试了不同的方法,结果都一样:注册页面仍然可以访问。
需要一些帮助,因为我遇到了这个问题。
这是我的部分代码(UsersController 类中的 beforeFilter();register() 将是此 Controller 中的操作):
function beforeFilter(){
parent::beforeFilter();
$this->Auth->allow("register");
if($this->Auth->user()){//if user is logged in...
$this->Auth->deny("register");//...deny his access to register and login page
}
}
最佳答案
function register()
{
if ($this->Auth->user())
{
$this->redirect('someOtherPage');
// or exit;
}
//other stuff
}
关于authentication - 拒绝 CakePHP 中的某些 Controller 操作权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006287/