Laravel login umgeleitet Sie zu viele Male
Ich habe Schwierigkeiten mit dieser von der ruhigen Zeit jetzt, was ich versuche ist zum umleiten der url Treffer durch nicht-angemeldete Benutzer auf die login-Seite und es gibt mir diese Fehlermeldung, die ich bin sicher, dass ist, weil es ist die Schaffung einer Schleife auf /login-URL. Authentifizierung ist die überprüfung für autorisierte Benutzer in der login-Seite auch. aber ich möchte die login-Seite sollte eine Ausnahme sein, bei der überprüfung der auth. Ich kann etwas falsch machen, ich bin nicht in der Lage zu bekommen. hier geht mein code.
routes.php
Route::post('login', 'Auth\AuthController@login');
Route::get('login' , 'Auth\AuthController@showLoginForm');
Route::get('/' , 'Auth\AuthController@showLoginForm');
kernel.php
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Auth\Access\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'acl' => \App\Http\Middleware\CheckPermission::class,
];
Authentifizieren Klasse
class Authenticate
{
public function handle($request, Closure $next, $guard = null) {
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
}
AuthController Klasse
class AuthController extends Controller {
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
protected $redirectTo = '/dashboard';
protected $loginPath = '/login';
protected $redirectPath = '/dashboard';
public function __construct(){
$this->middleware('auth', ['except' =>'login']);
/* I have been trying these many things to fix this, all in loss.
//$this->middleware('acl'); //To all methods
//$this->middleware('acl', ['only' => ['create', 'update']]);
//$this->middleware('guest', ['only' => ['/login']]);
//echo "Message"; exit;
//$this->middleware('auth');
//$this->middleware('auth', ['only' => ['login']]);
//$this->middleware('auth', ['only' => ['/login']]);
//$this->middleware('auth', ['except' => 'login']);
//$this->middleware('guest');
//$this->middleware('guest', ['only' => ['logout' , 'login', '/login', '/']]);
}
Bitte helfen Sie mir, Es geht alles über meinem Kopf, scheint eine Art Raketenwissenschaft für mich. naja btw ich bin neu auf laravel und tun einige dumme Sache um, Entschuldigung dafür. Vielen Dank im Voraus.
InformationsquelleAutor ScoRpion | 2016-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum Sie dies alles tun, nur um umleiten, alle nicht-angemeldeten Benutzer zu login-form?
ich denke, man kann nur dazu
Routes.php
und auth-controller-Konstrukt sollte wie folgt sein
AuthController
nur tun, wie ich Ihnen gezeigt habe,sollte es funktionieren
Ich Tat, was Sie erwähnt haben, und es gibt mir den gleichen Fehler, es löst nicht das priblem. Ich entfernte meine Routen und setzen Ihre und ersetzte auch meine AuthController Konstruktor, aber kein Glück..
Ich denke, Außer und Nur nicht arbeiten
ändern Sie dies in ur-auth-controller Versuchen, diese
$this->middleware('auth', ['except' => 'showLoginForm']);
ich denke, dass bei der Verwendung einer middleware im Konstruktor müssen Sie geben Sie den Namen der Methode, für das erwarten oder nur , damit Sie sollte nicht die middleware für die Showlogin und nicht einloggenInformationsquelleAutor Achraf Khouadja
Müssen Sie hinzufügen der route login außerhalb Laravel Gruppe:
routes.php
Nachholen, können Sie sehen, yours route-Liste:
InformationsquelleAutor Diogo Machado
Ist das problem mit den Routen.
Wenn ich enter und ich bin nicht ausgeloggt, Sie senden Sie mir ein login(get) route. Und als Sie angeben, die middleware in der Konstruktion im AuthController, jedes mal, wenn eine Methode der AuthController heißt, "Konstrukt" - Funktion erneut aufgerufen und sendet Sie zurück auf den login.. und es wird endlos wiederholt.
InformationsquelleAutor mkmnstr
wie @mkmnstr sagen
fix, dass u sollte hinzufügen,
Hier
InformationsquelleAutor Mohamed Fahmi Chaar