如何在 cakedc 插件 cakephp3 中为不同的用户组设置不同的身份验证重定向 URL

新手

我正在使用 cakephp3 和 cakedc 插件。我有两个用户组,1 个是普通用户,另一个是超级用户
,我主要寻找的是为不同的用户设置不同的 auth url,因为两个用户组都有不同的 dashbaord。我试图挂钩UsersAuthComponent::EVENT_AFTER_LOGIN。这是我的代码eventListener

$helper = new AppView();
$adminDashBoard = $helper->Url->build([
                    'prefix' => 'admin',
                    'controller' =>'users',
                    'action' => 'dashboard',
                    'plugin' => null
                ]);

        $customerDashBoard = $helper->Url->build([
                    'prefix' => 'customer',
                    'controller' =>'customers',
                    'action' => 'dashboard',
                    'plugin' => null
                ]);

        $result = array();
        if($entity['is_superuser'] == 1)
            $result[] = $adminDashBoard;
        else
            $result[] = $customerDashBoard;

        return $result;

我必须创建 AppView 的对象,因为 Url 构建器在EventLister. 上面的代码工作正常,但我附加在结果对象中的 url 被附加在当前 URL 中,它变得像

domain.com/<user's dashboard url in urlencoded format>

但我希望它重定向到我在eventListner任何帮助中设置的用户仪表板 url将不胜感激

施泰因克尔

我可以考虑两种选择:

  • 覆盖 EVENT_AFTER_LOGIN(更复杂)
  • 创建仪表板操作和每个角色的 2 个不同视图 1。然后在仪表板操作中,您可以执行以下操作

    if ($role === ROLE_ADMIN) { $this->render('dashboard_admin'); } else { $this->render('dashboard_user'); }

我认为选项 2 很简单,可以使用它,您可以将视图中的通用标记提取到一个元素中,并在两者中重用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 JWT 中使用 CakePHP3“身份验证”插件

如何使用 CakeDC 用户插件检查用户是否登录 cakephp 4 应用程序?

如何使用Cakedc插件在Cakephp中使用已登录的用户图像

cakephp 3控制器cakedc插件

如何在cakedc,Cakephp 3.0中提供loginredirect

CakePHP - CakeDC 插件权限不起作用

CakeDC用户插件编写器安装

Cakedc用户插件新表条目

CakePHP3“找不到助手”错误在插件中

Cakephp3,如何在cakephp3中使用where子句和内部联接?

Cakephp 3身份验证插件,登录URL不匹配

如何使用cakedc / users在cakephp中实现google oauth?

如何在cakePHP3中删除特定用户的会话?

如何在cakephp3中建立关系

如何在 pam 策略中为不同的用户或组设置不同的身份验证要求?

如何在CakePHP插件中实现ACL

CakePHP 3.x:如何在插件/插件的src目录中实现事件监听器

如何在使用cakephp3的查询中使用不同的数据源?

如何在cakephp3中的子控制器中传递父ID的值

如何在CakePHP3中创建使用TemplaterTrait的新Helper?

如何在不是ORM的cakephp3中创建模型?

使用反向路由时如何在cakephp3中设计链接

Cakephp3:如何在包含条件的分页中搜索数据?

Cakephp3:如何在查询标记后使用获取参数获取当前页面的完整URL

我如何在cakephp 3中为所有插件运行所有迁移?

当我使用 CakeDC/users 插件时不显示用户名

如何在3个表连接的情况下在cakephp3中打印字段的确切值

如何在CakePHP 2中运行全局插件的shell?

如何在cakephp的插件中获取DATABASE_CONFIG值?