Wenn Sie möchten, dass eine Middleware während jeder HTTP-Anforderung an Ihre Anwendung ausgeführt wird, listen Sie einfach die Middlewareklasse in der $middleware
-Eigenschaft Ihrer -Klasse auf.
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
YOUR MIDDLEWARE::class,
];
Wenn Sie keinen Zugriff haben, oder wollen nicht, die Paket-Controller zu ändern, können Sie eine Middleware erstellen (empfohlen von AuthenticateSession
vererben. Zum Beispiel:
<?php
namespace App\Http\Middleware;
use Illuminate\Session\Middleware\AuthenticateSession;
use Auth;
use Closure;
class AuthenticateIfEnvironment extends AuthenticateSession
{
public function handle($request, Closure $next)
{
if (env('APP_ENV') == 'XXXXXXXX' && !Auth::user() && !$request->is('login')) {
return redirect('/login');
}
return parent::handle($request, $next);
}
}
Dann Kernal.php
sieht aus wie dies:..
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\AuthenticateIfEnvironment::class,
];
läuft in ein Problem der auth-Middleware dort hinzugefügt wird, kann nicht die/login Route erreichen, weil, na ja, es ist ein Weg die Antwort, wie geschrieben, nicht sagen, machen sie Ihre. eigene Route (obwohl es impliziert ist). Ich möchte nur sicherstellen, dass wir für zukünftige Leser klar sind. –
Sie können die folgende Zeile in Ihrem Controller hinzufügen, die das Anmelden und Abmelden behandelt (AuthController kann sein): '$ this-> Middleware ('auth', ['außer' => ['getActivate', 'anotherMethod']]); 'innerhalb des Konstruktors. –
Ja. Ich möchte mich nicht mit den Paket-Controllern anlegen. Grundsätzlich sind diese Pakete "Full Service"; Also, ich denke, ich müsste (was ich kann) tun, was ich im Haupt-App-Bundle kann. Siehe Bearbeitungen, die auf einen Peer-Review warten. –