【发布时间】:2020-04-09 08:01:18
【问题描述】:
在 CakePHP 3 中使用 Auth 组件时,您可以定义 findAuth() 查找器(或配置不同的查找器)来控制加载的数据:
// AppController
$this->loadComponent('Auth', [
//...
'authenticate' => [
'Form' => [
'finder' => 'auth'
]
],
//...
]);
// UsersTable
public function findAuth($query, array $options)
{
return $query
->...;
}
我需要一些查询生成器无法完成的功能。如何在会话创建之前对加载的身份验证数据进行后处理?
请注意,我有不同的用户登录方式,因此我希望将其保留在 AuthComponent 逻辑中。
(这仍然适用于 CakePHP 3,但也将简要说明如何在新的 CakePHP 4 身份验证插件中完成此操作。)
编辑:我需要的大致轮廓:需要根据当前上下文在用户数组中重新组织数据,即用户可以选择一个活动项目。
【问题讨论】:
-
具体需要通过哪种方式修改数据?
-
已将其添加到问题中。基本上,我需要构造用户数组,以便以后可以轻松获取与用户所选项目相关的信息。
-
"我希望将其保留在 AuthComponent 逻辑中" -> 制作您自己的 AuthComponent
标签: authentication cakephp orm cakephp-3.0