Ich arbeite an einem Laravel-Projekt. Das Projekt hat einen öffentlichen (nicht authentifizierten Bereich der Site) und einen authentifizierten Bereich (Admin).Wie verwende ich die Route/(index) zweimal für beide angemeldet und abgemeldet?
Ich versuche, die/route zu verwenden, um eine öffentliche Homepage-Ansicht anzuzeigen, und wenn ich dann authentifiziert bin, möchte ich die selbe/route, um die vom Administrator authentifizierte Ansicht anzuzeigen.
Dies ist der Versuch Code:
routes.php
Route::auth();
Route::get('/', function() {
return view('Public.home');
});
Route::group(['middleware' => ['auth']], function() {
Route::get('/', function() {
return view('Authenticated.home');
});
});
Problem Wenn ich abgemeldet und versuchen, den/Weg für den Zugriff auf die öffentlichen Controller (Public.home) wird als authentifizierte Route betrachtet (wie sie in der obigen Routengruppe unter der 'auth' Middleware platziert wurde).
Die Middleware-Authentifizierung ist so eingestellt, dass sie auf/auf geschützte (authentifizierte) Routen umgeleitet wird.
Authenticate.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class Authenticate
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
}
return redirect()->guest('/');
}
return $next($request);
}
}
ich verwende Laravel 5.2.
Danke, arbeitete diese. –