Последние 2 недели я борюсь со следующей проблемой:
Прежде всего, моя проблема возникает только при попытке развернуть мой текущий проект Laravel (6.11) на работающем сервере. На моем Localhost все работает нормально.
В каждом FORM я использовал тег @csrf для установки токена, а также метатег в разделе заголовка моей страницы. Если я найду в инструменте разработчика в Chrome токены в голове и форме, то они будут идеально совпадать. Когда отправляется запрос POST, я получаю ошибку 419 Page Expired. Я понял, что токен HEAD воссоздается при каждом запросе, поэтому происходит несоответствие токена.
Я уже пробовал следующие вещи:
- Различный синтаксис тега csrf
- Я исключил все FORMS в VerifyCsrfToken. php - это закончилось в перенаправление на мой индекс. php без подчиненной формы
- Я проверил все настройки конфигурации Laravel, которые были рекомендованы в различных сообщениях на форуме
- Я пробовал пустую установку laravel с базой c настройка входа в систему на моем сервере - это сработало
- В настоящее время я работаю с git. В предыдущей версии коммита (16 декабря), которую я загрузил на свой сервер в тот же день, у меня не было никаких проблем, но когда я попытался повторно загрузить точно такую же дату git, возникает та же проблема.
Greatings Max
Если вам понадобится какой-нибудь код, я выложу здесь.
Контроллер:
function fakeAuthentifizierung(Request $request){
$username = $request->input('benutzernameLogin');
$password = $request->input('passwortLogin');
session(['key' => 'mt171043']);
session(['eingeloggt' => true]);
/*****
* ABFRAGE ADMINRECHTE
* BITTE DIESEN TEIL SPÄTER IN ECHTE AUTHENTIFIZIERUNG ÜBERNEHMEN
*
*/
$admin = false;
// SPÄTER BENUTZERID AUS LOGIN SESSION ÜBERGEBEN
// astmedin5 als TESTZWECK
$rechte = Benutzer::getBenutzerBerechtigung("astmedin5");
//Berechtigung Abfragen
if($rechte->name != 'Student' && 'Lehrbeauftragter'){
session(['admin' => true]);
}else{
session(['admin' => false]);
}
/***
*
* ABFRAGE ENDE
*/
return redirect(route('index',app()->getlocale()));
}
Вид:
<form method="POST" action="{{ action('LoginController@FakeAuthentifizierung', app()->getLocale()) }}">
@csrf
<h1>{{ __('Login') }}</h1>
<label class="col" for="benutzernameLogin">{{ __('Benutzername') }}</label>
<input name="benutzernameLogin" id="benutzernameLogin" class="inputLogin col mb-4" type="text"
aria-label="Text input with checkbox" placeholder="{{ __('Benutzername') }}" required>
<label class="col" for="passwortLogin">{{ __('Passwort') }}</label>
<input name="passwortLogin" id="passwortLogin" class="inputLogin col mb-4" type="password"
aria-label="Text input with checkbox" placeholder="{{ __('Passwort') }}" required>
<div class="col-8 float-left">
<input id="checkboxPasswortAnzeigen" type="checkbox">
<label for="checkboxPasswortAnzeigen">{{ __('Passwort anzeigen') }}</label>
</div>
<button type="submit" class="btn-slash col-3 inverted fontLight float-right">{{ __('Login') }}</button>
</form>