Задать вопрос
@Apostol63

Почему не сохраняется сессия в базу данных Laravel?

Всем доброго дня!

Пишу сюда, потому что совсем не понимаю, что я сделал не так или вообще не сделал.
Необходимо сохранять сессию в базу данных после аутентификации пользователя.
Далее все как описано в документации:

LoginController и другие созданы через php artisan make:auth
Табличка sessions через миграции
--php artisan session:table
--php artisan migrate

файл session.php
'driver' => env('SESSION_DRIVER', 'database'),
'connection' => env('SESSION_CONNECTION', null),
'table' => 'sessions',


в файле .env создал SESSION_CONNECTION и присвоил значение mysql ( Хотя про SESSION_CONNECTION в документации ничего не сказано)

вот роуты
Route::group(['middleware' => ['web']], function () {
    Route::get('/sess', 'Auth\LoginController@sess'); (сделал тестовый, в нем никакой авторизации не происходит. Чисто пытался сохранить сессию)
    Route::post('/login', 'auth\LoginController@login')->name('login');
});


метод login в LoginController
public function login(Request $request) {
        if(Auth::attempt(['email'=>$request->email, 'password'=>$request->password])) {
            if($request->session()->start()) {
                $request->session()->put(['user_id' => 32324234234]);
                $request->session()->save();
            }
        } else {
            return 'Вы ввели неверный логин или пароль';
        }
    }


Самое интересное, что сессия записывается в файл по пути storage\framework\sessions
Причем не важно в группе роутов находится мой роут или нет. file указан в session.php или database

Что я делаю не так?)

Заранее спасибо за ответ
  • Вопрос задан
  • 547 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
php666
@php666
PHP-макака
Попробуй это: php artisan config:cache

Необходимо сохранять сессию в базу данных после аутентификации пользователя.
зачем в базу?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы