基于用户角色的 Laravel voyager 策略

Posted

技术标签:

【中文标题】基于用户角色的 Laravel voyager 策略【英文标题】:Laravel voyager policy based on user role 【发布时间】:2019-01-08 01:51:16 【问题描述】:

我不知道如何确定 voyager 中的用户角色。我正在尝试根据这样的用户角色进行一些策略检查:

public function browse(User $user)

  $user->role == 'admin';

但即使对于角色为 admin 的用户,这也会返回 false (This action is unauthorized.)。 我正在使用 laravel 5.6voyager 1.1.3

【问题讨论】:

【参考方案1】:

voyager 的 users 表中没有角色或角色名称。我必须使用 role_id

 public function browse(User $user)
    
     if (  $user->role_id == 1 ) 
     return true;       
      else 
     return false;      
     
    

有什么方法可以使用角色名称吗?

【讨论】:

有!,你可以使用:$user->hasRole('admin'); :返回布尔值;如果此用户是管理员;

以上是关于基于用户角色的 Laravel voyager 策略的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel voyager 中上传大文件?

为Laravel Voyager创建数据导入页面

安装Laravel Voyager软件包时迁移错误

一款你不容错过的Laravel后台管理扩展包 —— Voyager

如何在 laravel Voyager 中使用很棒的字体?

安装包时出错(安装失败,将 ./composer.json 还原为其原始内容。)(Laravel 管理包 - Voyager)[重复]