php – 检查Laravel控制器中的多个警卫

前端之家收集整理的这篇文章主要介绍了php – 检查Laravel控制器中的多个警卫前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在laravel中创造了三种类型的守卫
我的auth.PHP文件看起来像这样

<?PHP

return [



    'defaults' => [
        'guard' => 'web','passwords' => 'users',],'guards' => [
        'web' => [
            'driver' => 'session','provider' => 'users','api' => [
            'driver' => 'token','admin' => [
            'driver' => 'session','provider' => 'admins','student' => [
            'driver' => 'session','provider' => 'students','finance' => [
            'driver' => 'session','provider' => 'finances','admin-api' => [
            'driver' => 'token','finance-api' => [
            'driver' => 'token','providers' => [
        'students' => [
            'driver' => 'eloquent','model' => App\student::class,'finances' => [
            'driver' => 'eloquent','model' => App\Finance::class,'admins' => [
            'driver' => 'eloquent','model' => App\users::class,'finance' => [
            'driver' => 'eloquent',// 'users' => [
        //     'driver' => 'database',//     'table' => 'users',// ],'passwords' => [
        'students' => [
            'provider' => 'students','table' => 'password_resets','expire' => 60,'finances' => [
            'provider' => 'finances','admins' => [
            'provider' => 'admins','expire' => 15,'finance' => [
            'provider' => 'finance',];

我可以检查auth用户,但我们有一些对所有用户都相同的路由和控制器,我需要检查相同路由或控制器中的所有防护,以便登录的每种类型的用户.

如何检查同一控制器或路径中的多个警卫?

解决方法

对于要进行身份验证的每个控制器

public function __construct()
    {
        $this->middleware('auth:admin,student,finance');
    }

要么
你可以在路线上使用

Route::group(['middleware' => 'auth:admin,finance,student'],function () {
    any same route here
});

您可以像这样访问刀片中的用户详细信息

{{ Auth::guard('admin')->user()->name }} {{ Auth::guard('admin')->user()->last_name }}

我希望这可以帮助别人.

猜你在找的Laravel相关文章