Я установил рюкзак 4 и Spat ie. https://github.com/spatie/laravel-permission
Я создал 2 роли: Admin и Users в моей административной панели (CRUD, поставляемый с Backpack).
Затем я добавил 2 разрешения: 1 называется «чтение ссылки администратора» 1 называется «чтение ссылки пользователя»
Я назначил разрешения для каждой роли: чтение ссылки администратора = роль администратора чтение ссылки пользователя = роль пользователя
Я вижу разрешения, правильно назначенные для ролей внутри панели администратора.
Теперь на левой навигационной панели я хотел бы видеть 1 меню, когда он зарегистрирован как администратор, или видеть другое меню, когда он зарегистрирован как пользователь.
Но я не могу заставить его работать:
<li>
<ul>
@if(auth()->backpack_user()->can('read admin link'))
<li class="nav-item"><a class="nav-link" href=""><i class="nav-icon fa fa-user"></i> <span>Can only
be seen by admins</span></a></li>
@endif
@if(auth()->backpack_user()->can('read user link'))
<li class="nav-item"><a class="nav-link" href=""><i class="nav-icon fa fa-user"></i> <span>Can only
be seen by users</span></a></li>
@endif
</ul>
</li>
Кажется, что эта проверка прав доступа (при входе в систему):
@if(auth()->backpack_user()->can('xxxxxxxxxxx'))
@endif
Причина этой ошибки:
Facade\Ignition\Exceptions\ViewException
Method Illuminate\Auth\SessionGuard::backpack_user does not exist. (View:
C:\laragon\www\demo\resources\views\vendor\backpack\base\inc\sidebar_content.blade.php)
Это моя база. php setup:
'middleware_class' => [
App\Http\Middleware\CheckIfAdmin::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
// \Backpack\CRUD\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class,
],
Любая идея, почему это происходит, пожалуйста?
Спасибо