CakePHP4-如何使用身份验证插件创建多个用户登录?

问题描述

我正在开发的应用程序中有两种类型的用户Users(表users.sql)用于前端用户AdminUsers(表admin_users.sql)用于管理。

在CakePHP3中,我使用AuthComponent中的AppController解决了以下问题:

public function initialize()
{
    parent::initialize();

    // ...

    //user login
    if (!empty($this->request->params['prefix']) AND
        $this->request->params['prefix'] == 'admin'
    ) {
        $this->setAdminLogin();
    }else{
        $this->setUserLogin();
        $this->Auth->allow();
    }

    // ...
}
//frontend users
public function setUserLogin()
{
    $this->loadComponent('Auth',[
        'authorize' => ['Controller'],'loginAction' => [
            'controller' => 'Users','action' => 'login'
        ],'loginRedirect' => [
            'controller' => 'Users','action' => 'edit'
        ],'logoutRedirect' => [
            'controller' => 'Users','authError' => false,'authenticate' => [
            'Xety/Cake3CookieAuth.Cookie' => [
                'usermodel' => 'Users','scope' => ['Users.active' => 1],'fields' => ['username' => 'email','password' => 'password'],],'Form' => [
                'usermodel' => 'Users','passwordHasher' => [
                    'className' => 'Fallback','hashers' => ['Default']
                ]
            ],'storage' =>  ['className' => 'Session','key' => 'Auth.User']
    ]);
}
//admin users
public function setAdminLogin()
{
    $this->loadComponent('Auth','loginAction' => [
            'controller' => 'AdminUsers','action' => 'login','loginRedirect' => [
            'controller' => 'AdminHelps','action' => 'index'
        ],'logoutRedirect' => [
            'controller' => 'AdminUsers','authenticate' => [
            'Form' => [
                'usermodel' => 'AdminUsers','scope' => ['AdminUsers.active' => 1],'key' => 'Auth.AdminUser']
    ]);
}

如何在带有身份验证插件的CakePHP4版本中执行相同的操作?如何创建多用户登录

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...