Ich arbeite an einem Laravel 11-Projekt mit dem Laravel-Genehmigungspaket von Spatie für eine rollenbasierte Zugriffskontrolle.[code]`@php $userPermissions = Auth::user()->getAllPermissions()->pluck('name')- >toArray(); @endphp
@endcan < /code> `< /p> Das Problem: Die Bedingung @if (in_array (...)) funktioniert wie erwartet, und der Link erscheint. in_array (auth :: user ()-> getAllpermissions ()-> pfluck ('name')-> toarray () funktioniert? Wie kann ich debuggen, warum @can die Erlaubnis nicht erkennt? Probiert: < /p>
Überprüft, ob der Benutzer die Berechtigung hat: dd(Auth::user()->can('view_permission_categories')); < /code> < /li> < /ol> 2.Ensured-Rollen und -Remmulierungen werden geladen: $ currentUser = auth :: user ()-> load ('roles.permission'); /> PHP Artisan Config: Clear PHP Artisan Ansicht: Clear PHP Artisan Route: Clear PHP Artisan Erlaubnis: cache-reset`use Illuminate\Support\Facades\Gate; public function boot() { Gate::define('view_permission_categories', function ($user) { return $user->hasPermissionTo('view_permission_categories'); }); } ` [/code]
Laravel upgrade von 9 bis 11, ich erhalte $ request-> user () und auth :: user () null-Wert in der Webroute. Ich verwende php-open-source-saver/jwt-auth Route::get('customer/{id}', );...
Also habe ich diese Aussage in meinem Laravel Blade erhalten. Und aus irgendeinem Grund werden meine geschweiften Klammern innerhalb der Ternary-Anweisung nicht korrekt angewendet.
User->mobile...
Ich habe einige PHP -Dateien und eine Blade -Datei geschrieben, um den Inhalt der Seite zu laden. Ich habe alle Stile und JavaScript -Dateien integriert, um die Seite mit master.blade.php im Ordner...