2016-01-15 4 views
1

Я разрабатываю веб-приложение с laravel 5.2 multi auth.Laravel 5.2 Multi Auth Не регистрируется в данных пользователя

вот мой код.

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'=>'[email protected]']); 

Route::get('sessiona',['as'=>'sessionviewa','uses'=>'[email protected]']); 
Route::get('sessionb',['as'=>'sessionviewb','uses'=>'[email protected]']); 

Я могу войти в систему успешно, но не получаю входные данные пользователя. ?

Теперь его возвращение как null в моем браузере.

ответ

0

Я вижу, что вы используете Laravel 5.2, у меня есть эта проблема и раньше.

Я решаю это, помещая свой маршрут в группу промежуточного программного обеспечения в route.php. Таким образом, я могу получить доступ к Auth и получить желаемого пользователя.

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

Попробуйте и дайте мне знать о его работе или нет.

+0

нерабочий .... –

0

Спасибо, Низам, так очевидно, но я просто потратил пару часов на это :).

Я хотел бы указать, что моя проблема заключалась в том, что, хотя у меня было промежуточное ПО, указанное в группе маршрутов, где происходит логин, я пытался получить доступ к аутентифицированному пользователю из другой группы, которая не делала - моя голова, почему это не работает. Мораль этой истории, конечно же, имеет промежуточное ПО на каждом маршруте, где вам нужен доступ к охраннику.

Смежные вопросы