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的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载