Ich möchte meinen Benutzer auf andere Route umleiten, basierend auf ihrer Rolle. Ich habe zwei gesicherte Bereiche in meiner App, "admin" und "dashboard". Ich würde gerne überprüfen, ob der Benutzer authentifiziert ist, und dann zum beabsichtigten Redirect umleiten, aber wenn der Benutzer über einen Rolleneditor verfügt, sollte er zum Dashboard umgeleitet werden, andernfalls sollte der Administrator in den Adminbereich umgeleitet werden.Laravel 5 Weiterleitung für andere Route basierend auf Rolle
Ich benutze AuthenticatesAndRegistersUsers Klasse in meinem Login. Ich habe dies auf meinem benutzerdefinierten Controller:
/**
* The default redirecTo path.
*
*/
protected $redirectTo = '/dashboard';
Also, wenn ein Benutzer authentifiziert ist es Armaturenbrett umgeleitet wird, aber ich mag überprüfen, ob die beabsichtigte URL auf Admin-Gruppe Route ist und, wenn der Benutzer Admin-Rolle Es sollte in den Admin-Bereich umgeleitet werden.
ich diese Middleware bin mit umleiten um sich einzuloggen:
public function handle($request, Closure $next)
{
if ($this->auth->guest())
{
if ($request->ajax())
{
return response('Unauthorized.', 401);
}
else
{
return redirect()->guest('auth/login');
}
}
return $next($request);
}
Dies sollte funktionieren, aber was ist, wenn ich auf den vollständigen Pfad umleiten möchte? Beispiel: Benutzer versucht, zu "admin/settings/general" zu gelangen, wird zum Login weitergeleitet, er meldet sich an und wird dann zu/admin weitergeleitet, nicht der vollständige Pfad. – Tropicalista
Standardmäßig versucht Laravel, zuerst zur gewünschten URL umzuleiten. Wenn es keins gab, wird es auf diese Methode zurückgreifen. –
Ich sollte Redirect URL auf der Middleware festlegen? – Tropicalista