В контроллере 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