Laravel verwendet den $id-Parameter der Ressourcencontroller-Methode als Middleware-Parameter
Posted: 03 Jan 2025, 10:06
Ich versuche, eine Middleware zu erstellen, um zu überprüfen, ob der Benutzer über die erforderlichen Berechtigungen zum Anzeigen bestimmter Seiten verfügt. Unten der Code, den ich derzeit zum Aufrufen der Middleware verwende. Ich übergebe jetzt den Namen der Rolle, die der Benutzer haben muss, möchte aber auch die erforderliche ID übergeben, die beim Aufruf der Store-Methode verwendet wird.
Gibt es eine Möglichkeit, dies zu tun, oder sollte ich entweder eine separate Funktion in diesem Controller erstellen oder die Routenprüfungs-Middleware in die Routes.php verschieben? Ich ziehe es vor, es nicht zu verschieben, da dies bedeuten würde, dass ich alle Routen neu definieren müsste, die bereits von meinem Ressourcencontroller definiert sind.
Gibt es eine Möglichkeit, dies zu tun, oder sollte ich entweder eine separate Funktion in diesem Controller erstellen oder die Routenprüfungs-Middleware in die Routes.php verschieben? Ich ziehe es vor, es nicht zu verschieben, da dies bedeuten würde, dass ich alle Routen neu definieren müsste, die bereits von meinem Ressourcencontroller definiert sind.
Code: Select all
public function __construct()
{
$this->middleware('permission:Manager',['only' => [
'show',
]]);
}
public function show($id)
{
//
}