samedi 23 décembre 2017

Не видит зарегистрированного пользователя в сессии laravel

В контроллере LoginController Auth::attempt() работает корректно,пользователь аутентифицируется, но на других страницах фасад Auth::check() возвращает null, т.е. другие контроллеры не видят пользователя. Попробовал менять что-то в Kernel.php,пробовал использовать посредник web и auth, но безуспешно.

Это код LoginController

class LoginController extends Controller
{
    public function redirect()
    {
    return redirect()->route('home');
}

function loginUser(Request $request)
{
    $array = $request->except('remember');
    $remember = $request->has('remember');

    $validator = Validator::make($array, [
        'name' => 'required|between:2,15|alpha_num',
        'password' => 'required|between:4,15|alpha_num',
    ]);

    if ($validator->fails()) return redirect()->route('home')->withErrors($validator)->withInput();

    if (Auth::attempt([
        'name' => $array['name'],
        'password' => $array['password']
    ], $remember)
    ) {


        //dd(Auth::user());

        return redirect()->intended('/admin');
        //redirect()->route('home')->with('message', 'Добро пожаловвать');
    } else {

        return redirect()->route('home')
            ->withErrors(['loginErr' => 'Такого пользователя не существует']);
    }

}

}

А это список маршрутов

Route::group(['middleware' => ['breadcrumbs']], function () {
Route::get('/', 'IndexController@index')->name('home');
Route::get('/map', 'MapController@show')->name('map');
Route::get('/map/categories/{cat_name?}', 'CategoriesController@show')
    ->name('categories');
Route::get('/map/nations/{cat_name?}', 'NationsController@show')
    ->name('nations');
Route::get('/map/seasons/{cat_name?}', 'SeasonsController@show')
    ->name('seasons');
Route::get('/map/{category}/{cat_name}/{article_name}', 'SeparateArticleController@show')
    ->where('category', 'nations|seasons|categories')->name('article');
Route::post('/incrementLike', 'SeparateArticleController@incrementLike');;


});


Route::post('register', 'Auth\RegisterController@register');
Route::post('login', 'Auth\LoginController@loginUser');
Route::get('register', 'Auth\RegisterController@redirect')->name('register');
Route::get('login', 'Auth\LoginController@redirect')->name('login');


Route::group(['prefix' => 'admin'], function () {
    //admin
    Route::get('/', 'Admin\IndexController@show');


});

Думаю,что проблема в сессиях , так так в ней ничего не остается

P.S. Использую собственные контроллеры аутентификации(без php make:auth)




Aucun commentaire:

Enregistrer un commentaire