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

How to change the Auth Guard in Laravel Auditing?

我已经使用 Laravel 审核插件 (http://www.laravel-auditing.com/docs/3.1) 来记录所有使用不同身份验证系统的模型 changes.Am 但 Laravel 审核

getLoggedInUserId()

使用 laravel 核心一所以需要改变它。我已经分叉了这个插件并直接编辑了它的功能。但如果你有想法与我分享,我想找到另一种方法?

 protected function getLoggedInUserId()
    {
        try {
            if (Auth::check()) {
                return Auth::user()->getAuthIdentifier();
            }
        } catch (\Exception $e) {
            return;
        }
    }

不幸的是,直到包的第 4 版,您无法在不修改实际代码的情况下更改用户解析器。

但是,从版本 4 开始,您可以在配置文件中这样做 (config/audit.php)。

可以通过两种方式设置用户解析器。

作为 Closure return [ 'user' = [ 'resolver' => function () { return Auth::check() ? Auth::user()->getAuthIdentifier() : null; }, ], ];

作为 FQCN: return [ 'user' = [ 'resolver' => App\User::class, ], ];

TIP: You have to implement the OwenIt\Auditing\Contracts\UserResolver interface in the App\User class for this to work.

查看完整文档here