Я использую Laravel 12 и стараюсь использовать промежуточное программное обеспечение для проверки пользователя, которое входит в систему или нет. < /p>
Я устанавливаю значение сеанса в контроллере API, но, когда я называю это значение в промежуточном программном обеспечении, это будет NULL.
и мой журнал показывает только токну в сессии.
База данных:
laravel_session=fca6d3xPRfTdlHBSTJWBd0KvaieSdKPbcGkFBZxa
a:3:{s:6:"_token";s:40:"0hYLgh1hHAZNW2Ar8E6MDBP5zKJXlLynSjt4dgTp";s:4:"user";s:5:"admin";s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}
Я использую функцию сеанса для установки значения глобального сеанса.
Я уверен, что это имя не является нулевым.
// loginVerify
$validate = $request->authenticate();
if ($validate) {
$post = $request->post()['body'];
$acct = User::where([['email', '=', $post['acct']],['password', '=', $post['ps']]])->first();
session(['user' => $acct['name']]);
return $acct;
}
< /code>
журнал не показывать значение пользователя в моем сеансе < /p>
my session value: {"_token":"T9EtbOAiUwUYc9s1l1gC4TrdSkTj8nT9SDFbqTIA"}
// middleware managePage
public function handle(Request $request, Closure $next): Response
{
Log::debug ('my session value: ' . json_encode(session()->all()));
dd($request->header('Cookie'));
if (empty(session('user'))) {
return redirect('/managerLogin');
}
return $next($request);
}
< /code>
Вот моя настройка промежуточного программного обеспечения: < /p>
$middleware->prependToGroup('manageSetting', [
\Illuminate\Session\Middleware\StartSession::class,
]);
$middleware->appendToGroup('managePage', [
ManagerPage::class,
]);
< /code>
И это моя настройка маршрута: < /p>
// web route
Route::middleware(['manageSetting', 'managePage'])->group(function () {
Route::get('/homeManage', function () {
return Inertia::render('manage/homeManage');
});
Route::get('/groupManage', function () {
return Inertia::render('manage/groupManage');
});
});
Route::middleware(['manageSetting'])->group(function() {
Route::get('/managerLogin', function () {
return Inertia::render('manage/login');
})->name('managerlogin');
});
//api route
Route::middleware(['manageSetting'])->group(function () {
Route::post('/updateGroup', [GroupController::class, 'update']);
Route::post('/updateHome', [KeyVisualController::class, 'update']);
Route::post('/loginVerify', [UserController::class, 'login']);
});
Подробнее здесь: https://stackoverflow.com/questions/796 ... same-value
То же значение laravel_session, но не такое же значение ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1746507877
Anonymous
Я использую Laravel 12 и стараюсь использовать промежуточное программное обеспечение для проверки пользователя, которое входит в систему или нет. < /p>
Я устанавливаю значение сеанса в контроллере API, но, когда я называю это значение в промежуточном программном обеспечении, это будет NULL.
и мой журнал показывает только токну в сессии.
База данных:
laravel_session=fca6d3xPRfTdlHBSTJWBd0KvaieSdKPbcGkFBZxa
a:3:{s:6:"_token";s:40:"0hYLgh1hHAZNW2Ar8E6MDBP5zKJXlLynSjt4dgTp";s:4:"user";s:5:"admin";s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}
Я использую функцию сеанса для установки значения глобального сеанса.
Я уверен, что это имя не является нулевым.
// loginVerify
$validate = $request->authenticate();
if ($validate) {
$post = $request->post()['body'];
$acct = User::where([['email', '=', $post['acct']],['password', '=', $post['ps']]])->first();
session(['user' => $acct['name']]);
return $acct;
}
< /code>
журнал не показывать значение пользователя в моем сеансе < /p>
my session value: {"_token":"T9EtbOAiUwUYc9s1l1gC4TrdSkTj8nT9SDFbqTIA"}
// middleware managePage
public function handle(Request $request, Closure $next): Response
{
Log::debug ('my session value: ' . json_encode(session()->all()));
dd($request->header('Cookie'));
if (empty(session('user'))) {
return redirect('/managerLogin');
}
return $next($request);
}
< /code>
Вот моя настройка промежуточного программного обеспечения: < /p>
$middleware->prependToGroup('manageSetting', [
\Illuminate\Session\Middleware\StartSession::class,
]);
$middleware->appendToGroup('managePage', [
ManagerPage::class,
]);
< /code>
И это моя настройка маршрута: < /p>
// web route
Route::middleware(['manageSetting', 'managePage'])->group(function () {
Route::get('/homeManage', function () {
return Inertia::render('manage/homeManage');
});
Route::get('/groupManage', function () {
return Inertia::render('manage/groupManage');
});
});
Route::middleware(['manageSetting'])->group(function() {
Route::get('/managerLogin', function () {
return Inertia::render('manage/login');
})->name('managerlogin');
});
//api route
Route::middleware(['manageSetting'])->group(function () {
Route::post('/updateGroup', [GroupController::class, 'update']);
Route::post('/updateHome', [KeyVisualController::class, 'update']);
Route::post('/loginVerify', [UserController::class, 'login']);
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79608003/same-laravel-session-value-but-not-the-same-value[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия