Php Laravel 5.2多重身份验证未登录用户数据

Php Laravel 5.2多重身份验证未登录用户数据,php,authentication,laravel-5.2,Php,Authentication,Laravel 5.2,我正在用laravel 5.2 multi-auth开发一个web应用程序 这是我的密码 Auth.php 'guards' => [ 'a' => [ 'driver' => 'session', 'provider' => 'users', ], 'b' => [ 'driver' => 'session', 'provider' => 'customers

我正在用laravel 5.2 multi-auth开发一个web应用程序

这是我的密码

Auth.php

  'guards' => [
    'a' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'b' => [
        'driver' => 'session',
        'provider' => 'customers',
    ],
],



   'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    'customers' => [
        'driver' => 'eloquent',
        'model' => App\Customer::class,
    ],
],
IndexController.php

 public function doLogin(){
    $credentails = [
        'name'      =>Input::get('name'),
        'password'  =>Input::get('password')
    ];

    if(Auth::guard('a')->attempt($credentails)){
        return Redirect::to(route('sessionviewa'));
    }else{
        return "Login Error";
    }
}


public function logout(){
    Auth::guard('a')->logout();
    return "succeess";
}

public function SessionViewA(){
    dd(Auth::guard('a')->user());
}

public function SessionViewB(){
    dd(Auth::guard('b')->user());
}
路线

 Route::post('dologin',['as'=>'dologin','uses'=>'IndexController@doLogin']); 

Route::get('sessiona',['as'=>'sessionviewa','uses'=>'IndexController@SessionViewA']); 
Route::get('sessionb',['as'=>'sessionviewb','uses'=>'IndexController@SessionViewB']); 
我可以成功登录,但无法登录用户数据


现在它在我的浏览器中返回为null。

我看到您使用的是Laravel 5.2,我以前也遇到过这个问题

我通过将路由放入route.php中的web中间件组来解决这个问题。这样,我就可以访问Auth并获得所需的用户

Route::group(['middleware' => ['web']], function () {
    // Your route here
});

尝试一下,让我知道它是否工作。

我看到您正在使用Laravel 5.2,我以前也遇到过这个问题

我通过将路由放入route.php中的web中间件组来解决这个问题。这样,我就可以访问Auth并获得所需的用户

Route::group(['middleware' => ['web']], function () {
    // Your route here
});

试试看,让我知道它是否有效。

谢谢尼扎姆,很明显,但我只是在上面浪费了几个小时:)


我想指出的是,我的问题是,尽管我确实在发生登录的路由组中指定了中间件,但我试图从另一个组访问经过身份验证的用户,但这并没有发生,这让我大吃一惊,为什么它不起作用。当然,这个故事的寓意是,在需要访问警卫的每条路径上都有中间件

谢谢尼扎姆,很明显,但我只是在上面浪费了几个小时:)

我想指出的是,我的问题是,尽管我确实在发生登录的路由组中指定了中间件,但我试图从另一个组访问经过身份验证的用户,但这并没有发生,这让我大吃一惊,为什么它不起作用。当然,这个故事的寓意是,在需要访问警卫的每条路径上都有中间件