To jest moja pierwsza próba pakietu laravel i wystąpił problem, w którym Auth :: attempt ($ credentials) działa w moim kontrolerze logowania, ale po przekierowaniu na chronioną trasę lub kontroler, użytkownik nie jest już uwierzytelniony. Poniżej znajduje się moja metoda kontrolera logowania z zakomentowanym przekierowaniem do pulpitu nawigacyjnego.Auth nie działa w pakiecie Laravel
public function attempt(Request $request){
$email = strtolower(strip_tags(htmlspecialchars($request->input('email'))));
$password = strip_tags(htmlspecialchars($request->input('password')));
if (Auth::attempt(array('email' => $email, 'password' => $password)))
{
// Redirect to dashboard route
//return redirect()->intended('/admin');
if(Auth::check())
print_r(Auth::user());
}
}
Odpowiedź na prawidłowe poświadczenia wypisuje prawidłowy rekord użytkownika, a Auth :: check zwraca wartość true. Jednak po przekierowaniu do kontrolera administratora użytkownik nie jest uwierzytelniany. Poniżej znajduje się metoda kontrolera administratora, która powinna wyprowadzać uwierzytelnionego użytkownika, ale zwraca tylko "niezalogowany".
public function index()
{
if(Auth::check()) print_r(Auth::user());
else echo "not logged";
}
Oba kontrolery używać Auth ;, ich nazw są zgodne z sprzedawca/pakietu/pathToDir db jest ustawiony prawidłowo, a klucz szyfrowania został ustawiony. Jakieś pomysły na to, co dzieje się źle? Dzięki
Uratowałeś mój dzień! Okazuje się, że dla domyślnych tras w 'routes/web.php' Laravel stosuje całą grupę middleware o nazwie" web ". I nie stosuje tej grupy do zewnętrznych tras pakietów ładowanych za pomocą metody dostawcy usługi '$ this-> loadRoutesFrom (__ DIR __. '/ Routes.php');' –