SentryのfindAllUsersWithAccessをSentinelでも実行する

ユーザー認証パッケージで有名なSentryとその後継のSentinelの話題です。

Sentryには特定のパーミッションをもつユーザーをすべて取得する「findAllUsersWithAccess」というファンクションがありました。
ところがその後継のSentinelには同様の機能が無くなってしまったため、同等の動作を考えました。

環境

  • Laravel 5.1
  • Sentinel 2.0.8

コード

Eloquentのfilterで特定のユーザーのみ抜き出すようにします。
[php]$permissions = [‘admin’];
$users = \Sentinel::getUserRepository()->get()->filter(function ($user) use ($permissions) {
return $user->hasAccess($permissions);
});[/php]

スポンサーリンク