我已使用Laravel审核插件(http://www.laravel-auditing.com/docs/3.1)记录所有模型更改。使用不同的身份验证系统但Laravel审核
getLoggedInUserId()
使用laravel核心,所以需要改变它。我已经分叉了这个插件并直接编辑了它的功能。但是如果你有想法与我分享,我想找到另一种方法吗?
protected function getLoggedInUserId()
{
try {
if (Auth::check()) {
return Auth::user()->getAuthIdentifier();
}
} catch (\Exception $e) {
return;
}
}
答案 0 :(得分:1)
不幸的是,在软件包的第4版之前,您无法在不修改实际代码的情况下更改用户解析程序。
但是,从版本4开始,您可以在配置文件(config/audit.php
)中执行此操作。
用户解析器可以通过两种方式设置。
作为Closure
:
return [
'user' = [
'resolver' => function () {
return Auth::check() ? Auth::user()->getAuthIdentifier() : null;
},
],
];
作为FQCN:
return [
'user' = [
'resolver' => App\User::class,
],
];
提示:您必须在
OwenIt\Auditing\Contracts\UserResolver
课程中实施App\User
界面才能实现此目的。
请参阅完整文档here。