Пароль сохраняется в сеансе PHP, но при перезагрузке страницы он возвращается в форму входа.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Пароль сохраняется в сеансе PHP, но при перезагрузке страницы он возвращается в форму входа.

Сообщение Anonymous »

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

Код: Выделить всё

Route::get('/login', 'login@show')->name('login');
Route::post('/login', 'login@checkPass')->name('check.pass')->middleware(PasswordAuthTask::class);
Route::get('/noaccess', 'login@checkPass')->name('noaccess')->middleware(PasswordAuthTask::class);
Промежуточное ПО:

Код: Выделить всё

class PasswordAuthTask
{
/**
* Handle an incoming request.
*
* @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
$password = $request->input('password');
$request->session()->put('password', $password);
$expectedPass = '123';

if (($password === $expectedPass) || ($password === null || $password === '')) {
if ($password === $expectedPass) {
$request->session()->put('password', $password);
}

return $next($request);
} else {
return redirect('noaccess');
}
}
}
Контроллер:

Код: Выделить всё

class login extends Controller
{
public function show()
{
if (Session::has('password') && Session::get('password') === '123') {
return view('content');
}

return view('login');
}

public function checkPass(Request $request)
{
$password = $request->input('password');
$expectedPass = '123';
if (Session::has('password') && $password === $expectedPass) {
return view('content');
} else {
return view('noaccess');
}
}
}
Даже если пароль правильный и сохранен в сеансе, при перезагрузке страницы он возвращается к форме входа.

Подробнее здесь: https://stackoverflow.com/questions/771 ... -it-goes-b
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»