如何解决CakePHP 4.2 在 beforeSave 中获得登录用户
我们有一个使用 CakePHP authentication 2 的简单 CakePHP 4 开发,它几乎可以正常工作......
使用 AuthenticationComponent 我们可以在每个控制器中使用 $this->Authentication->getIdentity() 访问登录用户;
我们想将登录用户添加到任何添加/编辑请求中...
因此我们编写了有效的行为并将字符串添加到每个添加/编辑...
但是我们如何在 Models Behavior 中访问 AuthenticationComponent 呢?我没找到方法...
感谢每一个提示...
解决方法
获取用户数据到行为的解决方案
EventManager::instance()->on(
'Model.beforeSave',['priority' => -1],function (Event $event,EntityInterface $entity,\ArrayObject $options) {
// retrieve the user id from the auth component
if(!empty($this->Authentication->getIdentity())){
$options['user_id'] = $this->Authentication->getIdentity()->get('longname');
}
}
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。