2016-12-21 9 views
1

私は異なる認証方式を使用して、すべてのモデルchanges.Amをログに記録するLaravel監査プラグイン(http://www.laravel-auditing.com/docs/3.1)を使用しているが、Laravel監査Laravel監査で認証ガードを変更するにはどうすればよいですか?

getLoggedInUserId()

はそうする必要がlaravelコアいずれかを使用してそれを変えなさい。私はこのプラグインをフォークし、その機能を直接編集しました。しかし私はあなたが私と分かち合うことがあれば別の方法を見つけるのが好きですか?

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

答えて

1

残念ながら、パッケージのバージョン4まで、実際のコードを変更せずにユーザーリゾルバを変更することはできませんでした。

ただし、バージョン4以降の設定ファイル(config/audit.php)で行うことができます。

ユーザーリゾルバは2通りの方法で設定できます。

Closure通り:FQCNとして return [ 'user' = [ 'resolver' => function() { return Auth::check() ? Auth::user()->getAuthIdentifier() : null; }, ], ];

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

TIP:あなたは、これが機能するために、App\UserクラスでOwenIt\Auditing\Contracts\UserResolverインタフェースを実装する必要があります。

詳細ドキュメントhereを参照してください。

+0

はい私はhttps://github.com/owen-it/laravel-auditing/issues/175から解決策を得ました:) –

+0

正しい答えとしてマークしてください。 –

関連する問題