habe ich eine Politik in Laravel 5.3 mit diesen beiden Aktionen:Laravel Autorisierung über Middleware
class ProjectPolicy {
...
public function index(User $user)
{
return true;
}
public function create(User $user)
{
return true;
}
...
}
und dann habe ich versucht Genehmigung über die Route Gruppe Middleware zu machen:
Route::group(['middleware' => ['can:index,create,App\Project']], function() {
Route::resource('projects', 'ProjectController');
});
natürlich habe ich erstellt Projekt Modell und Controller korrekt, aber das Aufrufen von Index und Erstellen von Aktionen gibt immer 403 verbotene Antwort zurück. Wo ist das Problem?
Update:
einer der Aktionen von der Route Middleware zu entfernen, führt korrekte Antwort. so etwas wie diese:
Route::group(['middleware' => ['can:index,App\Project']], function() {
Route::resource('projects', 'ProjectController');
});
Haben Sie versucht, einen zweiten Route :: group-Block mit der verbleibenden Aktion zu erstellen. Das wäre ... can: create, App \ Project ...? – Digitalis
ja, funktioniert, aber die zweite Gruppe wird abhängig von der ersten Middleware-Ergebnis, und wenn die erste Middleware falsche Brüche zurückgeben ... –
Vielleicht wird dies helfen. Es tut mir leid zu sagen, dass ich die Antwort nicht kenne. Einfach das Problem ein bisschen googeln: http://stackoverflow.com/questions/38580890/how-to-return-403-response-in-json-format-in-laravel-5-2 Viel Glück! – Digitalis