Ich baue eine API und ich bin wirklich hier stecken versuchen, herauszufinden, wie man Benutzer ohne Berechtigungen auf bestimmte Ressource zu blockieren, habe ich bereits eine Tabelle Benutzer, Rollen, role_user, Berechtigungen und role_permissions erstellt. wenn ich auf Google suchte, sah ich mehrere Möglichkeiten, es zu tun, mit Gate
innerhalb AuthServiceProvider
, oder mit Middleware. meine Frage ist: Was ist der beste Weg, es in Laravel mit API zu tun? In meiner Firma können die Benutzer eine oder mehrere Rollen haben, und die Benutzer können auch eine individuelle Erlaubnis haben. Außerdem haben einige ACL-Pakete versucht, aber alle haben einige spezifische Probleme, wie: einige Methoden sind in Laravel 5.5 veraltet, oder Dokumente sind nicht klar, wie man die Klasse benutzt. Ich habe versucht, die Logik selbst zu tun, aber ich bin in der Frage stecken, wie man den Zugang zu der Ressource blockiert, wenn der Benutzer keine Erlaubnis gegeben hat.wie man einen Benutzer ohne Erlaubnis zu einer Ressource in Laravel blockiert?
0
A
Antwort
0
Laravel es selbst blockiert den Zugriff für jede Ressource aus dem öffentlichen Ordner (Storage Folder). Zusätzlich können Sie eine Middleware erstellen, die den Benutzer, der die Route anfordert, überprüft und entscheidet, die Ressource zurückzugeben oder nicht.
0
Sie können eine Middleware für diesen Zweck verwenden. Kasse https://laravel.com/docs/5.5/middleware für weitere Informationen
Sobald Sie die Middleware erstellt haben, können Sie tun:
Route::group(['middleware'=>'yournewmiddlewarename'], function() {
Route::resource("url", ...);
}
Verwandte Themen
- 1. Laravel Benutzer Erlaubnis, eigenen Beitrag zu aktualisieren
- 2. Wie erteile ich die Erlaubnis, einen anderen Benutzer zu IMPERSONIEREN?
- 3. Safari Localhost Erlaubnis blockiert
- 4. zuweisen separate Middleware zu jeder Methode einer Ressource in Laravel
- 5. Laravel Rollen mit Laravel-Erlaubnis
- 6. In c, wie man einen Dateideskriptor blockiert?
- 7. Wie man Benutzer Erlaubnis erhält und Slack-Kanal in Ruby
- 8. Erlaubnis für URLs in Laravel?
- 9. Sichere Datei-Download in PHP, verweigern Benutzer ohne Erlaubnis
- 10. Wie liest man von einem os.pipe() ohne blockiert zu werden?
- 11. Änderung Laravel Ressource URL
- 12. Wie Ressource-ID ohne eine Ressource
- 13. Django Benutzer Erlaubnis in Vorlage
- 14. Wie erstellt man einen neuen Benutzer (ohne Formular) in Laravel 5.2?
- 15. Laravel 5 feststellen, ob der aktuelle Benutzer die Erlaubnis hat, einen Beitrag zu aktualisieren
- 16. Wie man einen ausgehenden Anruf blockiert?
- 17. Laravel - authentifizieren Benutzer ohne Anmeldung
- 18. Gib einem Benutzer die Erlaubnis, einen Kurs zu bearbeiten
- 19. Laravel 5.1 ACL mit spatie/laravel-Erlaubnis
- 20. Git: Erlaubnis zu [Organisation] verweigert zu [Benutzer]
- 21. Geolocation ohne um Erlaubnis zu fragen
- 22. Wie man eine private Ressource in Laravel öffentlich darstellt?
- 23. Wie man eine Datei in Ressource/view Verzeichnis Laravel
- 24. Wie entfernt man einen zuvor hinzugefügten Dekorator auf einer Ressource?
- 25. Wie man dauerhafte usb Erlaubnis zu einer android Anwendung gibt
- 26. Immer noch fehlgeschlagen ACCESS_FINE_LOCATION Erlaubnis ohne um Erlaubnis zu fragen
- 27. Raspberry Pi erstellen Benutzer mit einer Datei Erlaubnis
- 28. Ressource wurde wegen MIME-Typenkonflikt blockiert
- 29. Wie erstellt man einen Stormpath-Benutzer ohne E-Mail?
- 30. Wie man Beziehung herstellt, ohne modelname_id in Laravel zu verwenden?
was mit der Verwendung einer Middleware falsch? – madalinivascu
Sie können das https://cartalyst.com/manual/sentinel/2.0#permissions Paket überprüfen. –
Ich habe kein Problem mit Middlewares, mein Problem ist die Logik zu bauen, um die Ressource zu blockieren, wenn die Erlaubnis der Ressource URL entspricht –