Tach zusammen,
ich habe bei meiner Webapplikation nun feststellen müssen, dass mein Router nicht so routet wie ich es konfiguriert habe.
Eigentlich will ich nur eins erreichen, unzwar das, egal welche Seite geladen wird, immer geprüft wird mittels Auth::check() ob der User eingeloggt ist. Wenn nicht, dann leite zu /user/login um.
Nun habe ich heute gesehen, das, nachdem die Session abgelaufen war, nicht zur Loginform geroutet wurde. Stattdessen bekomme ich eine Exception das die Sessionvariable null ist. Dazu habe ich nun folgende Lösungen probiert.
Als erstes habe ich eine Route konfiguriert.
leider ohne Erfolg. Ich kann, auch wenn ich mich auslogge, immer noch auf die Website zugreifen. Dazu brauche ich nur die URLs oben eingeben und lande zB in der Gruppenverwaltung.
Dann habe ich gedacht, probierst du es einfach mal in dem du im BaseController den Konstruktor anpasst.
Leider führt das auch nicht zum gewünschten Ergebnis. War auch schon so Paranoid das ich den Apache Server neugestartet habe.
Kann mir vielleicht jemand erklären wieso ich mit diesen beiden Wegen nicht überprüfen kann ob der User eingeloggt ist?
Oder kann es sein das der User nicht richtig ausgeloggt wurde?
Logout mach ich so
Bekomme außer der Null Exception sonst keine andere Exception.
ich habe bei meiner Webapplikation nun feststellen müssen, dass mein Router nicht so routet wie ich es konfiguriert habe.
Eigentlich will ich nur eins erreichen, unzwar das, egal welche Seite geladen wird, immer geprüft wird mittels Auth::check() ob der User eingeloggt ist. Wenn nicht, dann leite zu /user/login um.
Nun habe ich heute gesehen, das, nachdem die Session abgelaufen war, nicht zur Loginform geroutet wurde. Stattdessen bekomme ich eine Exception das die Sessionvariable null ist. Dazu habe ich nun folgende Lösungen probiert.
Als erstes habe ich eine Route konfiguriert.
PHP-Code:
Route::any('{all}', function() {
if (!Auth::check())
return Redirect::to('/user/login');
//den Code habe ich zum testen nachträglich hinzugefügt
if (!Session::has('permissions') || !Session::has('grouppermissions'))
return Redirect::to('/user/login');
});
Dann habe ich gedacht, probierst du es einfach mal in dem du im BaseController den Konstruktor anpasst.
PHP-Code:
public function __construct()
{
$this->checkLogin();
}
protected function checkLogin()
{
if (!Auth::check())
return Redirect::to('/user/login');
if (!Session::has('permissions') || !Session::has('grouppermissions'))
return Redirect::to('/user/login');
}
Kann mir vielleicht jemand erklären wieso ich mit diesen beiden Wegen nicht überprüfen kann ob der User eingeloggt ist?
Oder kann es sein das der User nicht richtig ausgeloggt wurde?
Logout mach ich so
PHP-Code:
Auth::logout();
Session::flush();
Kommentar