如何在Laravel审计中更改Auth Guard?

时间:2016-12-21 14:59:55

标签: php laravel-5.3

我已使用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;
        }
    }

1 个答案:

答案 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