Php Laravel 5.2多重身份验证未登录用户数据
我正在用laravel 5.2 multi-auth开发一个web应用程序 这是我的密码 Auth.phpPhp 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
'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
});
试试看,让我知道它是否有效。谢谢尼扎姆,很明显,但我只是在上面浪费了几个小时:)
我想指出的是,我的问题是,尽管我确实在发生登录的路由组中指定了中间件,但我试图从另一个组访问经过身份验证的用户,但这并没有发生,这让我大吃一惊,为什么它不起作用。当然,这个故事的寓意是,在需要访问警卫的每条路径上都有中间件 谢谢尼扎姆,很明显,但我只是在上面浪费了几个小时:) 我想指出的是,我的问题是,尽管我确实在发生登录的路由组中指定了中间件,但我试图从另一个组访问经过身份验证的用户,但这并没有发生,这让我大吃一惊,为什么它不起作用。当然,这个故事的寓意是,在需要访问警卫的每条路径上都有中间件