authentication - 拒绝 CakePHP 中的某些 Controller 操作权限

标签 authentication cakephp permissions

这个想法很简单。如果您未登录,则无法访问除注册和登录页面之外的任何页面。如果您已登录,则可以访问除注册页面之外的所有页面。

现在,其中一半是通过使用 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/

相关文章:

php - Laravel 5.2 Storage::makeDirectory($dir) 没有创建目录

angular - 如何将登录表单发布到遗留服务器(没有 Ajax)?

php - 简单的单用户登录页面

php - 如何在 CakePHP 3 中对模型-> 保存 () 进行 SQL 查询?

cakephp - $this->request->allowMethod( ['post' , 'delete' ]) 上不允许的方法;

django - 如何从 Django 中的组中删除所有权限

ruby - 如何签署JWT?

asp.net - ASP.Net 中 web.config 文件中成员资格提供程序类型中的 Culture 和 PublicKeyToken 是什么?

php - Cakephp 警告 512 缓存文件夹无法写入

linux - 如何允许服务器上的任何用户编辑特定文件?