She*_*cia 2 laravel laravel-permission
我目前正在使用 Spatie 角色和权限库。我有多个警卫,分别是管理员和网络。我的管理员有权使用 Guard_name = admin 来“管理身份验证”。当我尝试运行下面的语法时,它返回 true。
current_user()->hasPermissionTo('manage authentication', 'admin')
Run Code Online (Sandbox Code Playgroud)
但是当我使用 @can 指令时,span 标签不会出现。
@can('manage authentication')
<span>Hello</span>
@endcan
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但跨度标签仍然没有出现。
@can('manage authentication', 'admin')
<span>Hello</span>
@endcan
Run Code Online (Sandbox Code Playgroud)
我做错了吗?
更新:我的用户模型中没有任何角色/权限相关的属性和功能
@can 不能与多个守卫一起使用
你可以使用这个:
@if(auth('guard-name')->check() && auth('guard-name')->user()->can('permission-name'))
Run Code Online (Sandbox Code Playgroud)
之后运行:
php artisan cache:forget spatie.permission.cache
Run Code Online (Sandbox Code Playgroud)
然后 :
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2416 次 |
| 最近记录: |