Laravel 5.5 权限 - 用户没有正确的角色

2024-03-31

我试图在管理员用户没有分配的角色的用例中找到解决方案。 在仪表板视图中,它不会为用户呈现 url,而如果我直接访问仪表板/用户,我会得到:

Spatie \ Permission \ Exceptions \ UnauthorizedException user does not have the right roles

应用程序/Http/Kernel.php

    protected $routeMiddleware = [
     ....
    'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
    'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
];

路线/web.php

Route::group(
   ['middleware' => ['role:admin']],
    function () {
      Route::get('/dashboard/users', 'UsersController@index');
      Route::get('/dashboard/users/{id}', 'UsersController@edit');
      Route::patch('/dashboard/users/{id}', 'UsersController@update');
   }
);

查看/dashboard.blade.php

<div class="panel-body">
  @hasrole('admin')
     <li><a href="/dashboard/users">Manage Users</a></li>
  @endhasrole
</div>

我已成功生成默认角色和权限

命令/GenerateRoles.php

    public function handle()
    {
    $this->info('Generating default roles and permissions...');
    $admin = User::create(
      [
        'name'     => 'administrator',
        'email'    => '[email protected] /cdn-cgi/l/email-protection',
        'password' => bcrypt('12345'),
      ]
    );

    // Create roles.
    $adminRole   = Role::create(['name' => 'admin']);
    $supportRole = Role::create(['name' => 'support']);

    $admin->assignRole('admin');

    // Create permissions.
    $userManagement = Permission::create(['name' => 'users management']);
    $deleteImages  = Permission::create(['name' => 'delete images']);
    $datasetStatus   = Permission::create(
      ['name' => 'change dataset building status']
    );

    $adminRole->givePermissionTo($userManagement);
    $deleteImages->syncRoles([$adminRole, $supportRole]);
    $datasetStatus->syncRoles([$adminRole, $supportRole]);
   }

它可能会出什么问题?谢谢你的时间。


您应该覆盖渲染方法以重定向(或任何您想要做的事情)。转到 Expections/Handler.php 并覆盖渲染函数,如下所示:

public function render($request, Exception $exception)
{
    if ($exception instanceof \Spatie\Permission\Exceptions\UnauthorizedException) {
          return redirect('/');
    }

    return parent::render($request, $exception);
}

source:https://github.com/spatie/laravel-permission#having-role-and-permission-failures https://github.com/spatie/laravel-permission#catching-role-and-permission-failures

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5.5 权限 - 用户没有正确的角色 的相关文章

  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • 合并 csv 文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 PHP 或 joomla 中将多个 CSV 文件合并为一个 csv 文件 将文件夹中 csv 文件中的所有数据合并到文本文件中 通
  • 由于重复捕获组而不是捕获重复组,正则表达式不匹配

    我有以下正则表达式 A G A G 具有以下表达式 A BsCb 我期望 3 个匹配结果 A Bs Cb 但测试在https regex101 com https regex101 com 只给我最后一场比赛Cb 并告诉我重复捕获组只会捕获
  • PHP:STR 替换为链接

    我有这个 PHP 聊天框 如果我在聊天框中键入链接 它不会将其显示为链接 我如何使用 STR 替换来执行此操作 它应该响应诸如 http http com nl www www 之类的内容 我的其他 STR 替换行如下所示 bericht
  • 如何在 Laravel 中 session_write_close() ?

    Running session write close before sleep 在 Laravel 中似乎不起作用 因为会话仍然被其他请求阻止 直到当前连接完成 我试图sleep 在 Laravel 中 不会阻止其他请求 发现 sessi
  • cakephp 1.1 与 php 5.3

    我刚刚从 php 5 1 升级到 5 3 之前在我的服务器上使用 cakephp 1 1 自从升级 或者可能更早 我不确定 以来 我收到以下错误 任何人都可以透露一些信息 Deprecated Assigning the return va
  • PHP:在多维数组中查找相同的键并合并结果

    我有一个多维数组 如下所示 array 0 gt array WS gt array id gt 2 name gt hello 1 gt array SS gt array id gt 1 name gt hello2 2 gt arra
  • PHP服务器端IAB验证openssl_verify总是返回0

    我使用以下函数 服务器端 php 来验证 IAB v3 事务 我从 Android 应用程序传递过来 Override protected void onActivityResult int requestCode int resultCo
  • 如何销毁一个物体?

    据我所知 很少 有两种方法 var new object Then Method 1 Set to null var null Method 2 Unset unset var 还有其他更好的方法吗 我在这里吹毛求疵吗 您正在寻找unset
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • 在 Laravel 中按数据透视表 create_at 排序

    在我的数据库中 我有以下表格 courses id 名称 创建时间 更新时间 students id 名称 创建时间 更新时间 课程 学生 id course id student id created at updated at 我正在尝
  • Lumen 微框架 => php artisan key:generate

    我正在尝试 PHP 微框架 Lumen 来自 Laravel 我的第一步就是调查 env example文件并复制一份以供我使用 env文件 就像 Laravel 中一样 有一个变量 APP KEY 现在我尝试了简单的命令php artis
  • 如何使用额外标记输出 wp_list_categories

    我目前正在使用下面的脚本在无序列表中输出我的所有 WordPress 类别 如何获得带有额外标记的输出 ul ul 例如 ul li Category 1 rsaquo li li Category 2 rsaquo li ul 代替 ul
  • 从文本文件 PHP 读取数据

    我只是想知道如何在 php 中读取文本文件 我想让它显示文本文件中的最后 200 个条目 每个条目都在一个新行上 Like John White Jane Does John Does Someones Name 等等 Thanks Use
  • PHP OOP 静态属性语法错误 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 为什么不
  • WooCommerce 自定义产品类型选项不隐藏自定义产品选项卡

    我刚刚向我的 WC 管理产品页面添加了自定义产品类型选项 add filter product type options this filter product type options 99 1 public function filte
  • 如果文件名减去扩展名,.htaccess url 重写行为将被覆盖。与网址相同

    我正在尝试整理 URL 并从中删除 php 扩展名等 我位于网站的基本文件夹中 因此没有可以优先处理的父 htaccess 文件或其他文件 这是我的 htaccess 代码 RewriteEngine On RewriteRule give
  • PHPunit - 错误

    当 PHPunit 框架不希望发生的错误发生时 测试会停止 PHP 会抛出错误 但 PHPunit 不会记录这是一个错误 我如何确保 PHPunit 将其记录为错误 免责声明 我是 PHPUnit 的新手 我也试图弄清楚 发生错误时会发生什
  • Magento 中的子域 htaccess 问题

    public html www domain com public html subdomain subdomain domain com public html htaccess public html subdomain htacces

随机推荐

  • 仅 Android Gmail 中的电子邮件中出现空白。我该如何解决这个问题?

    我的电子邮件可以在所有电子邮件客户端 Outlook iOS Litmus 等 中完美运行 但 Android 上的 Gmail 应用程序除外 在该应用程序中 它出现了间隙 这是问题的屏幕截图 这只是一个基本的概念证明 下面是一些 HTML
  • NSOperation、观察者和线程错误

    我有一个问题NSOperation和观察员 I ve a tabbarcontroller and a splashController 我想要启动画面加载并下载文件 并在下载文件时使tabbarcontroller出现在屏幕上 问题是我有
  • jQuery - 替换字符串中字符的所有实例[重复]

    这个问题在这里已经有答案了 这不起作用 我非常需要它 some multi word string replace 总是得到 some multi word string 它总是仅替换第一个实例 但我需要它适用于所有 符号 您需要使用正则表
  • 从 C# 配置 *.scr 文件

    我正在 C Net 中创建一个程序 其中一项功能允许用户从列表中选择屏幕保护程序并预览或配置它 经过一些研究后 我发现通过使用 c 参数调用 scr 文件将显示配置对话框 从命令行使用此参数工作正常 C Windows System32 g
  • 使用 std::is_same 进行元编程

    是否可以执行类似以下操作而无需模板专门化进行编译 template
  • 私有类型的模板专业化

    我有一个通用算法 需要访问其模板类型的特征 有一个特征类可以专门用于提供这些特征 当在我的类中使用此算法时 我想将其与类中定义的私有类型一起使用 然而 专业化只能发生在namespace或我的类无法访问的全局范围 class A struc
  • Nhibernate CreateSQLQuery 存储过程结果到非映射类

    在我的应用程序中 我想从存储过程中获取数据 其中表未映射到应用程序中 在此存储过程中 我向列名添加了别名 这些别名响应我的类中的属性 HQL return Session CreateSQLQuery exec PER PrikklokSa
  • CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 对象无效或未注册

    在我的应用程序中有一个显示 Excel 工作表的功能 由于某种原因 我们需要卸载 Microsoft Office 现在上述功能不起作用 我收到以下错误 CLSID 为 00024500 0000 0000 C000 00000000004
  • 当执行 uop 计数不是处理器宽度倍数的循环时,性能是否会降低?

    我想知道不同大小的循环在最新的 x86 处理器上如何执行 作为 uop 数量的函数 这里引用 Peter Cordes 的一段话 他在 中 中提出了非 4 倍数的问题另一个问题 https stackoverflow com a 31027
  • 刷新数据库是什么意思?还带有“闪”

    我想知道 flush 和 flash 是什么意思以及它们之间的区别 Flushing 将应用程序数据的临时状态与数据的永久状态 在数据库中或磁盘上 同步 说明 刷新实际上是一个缓存术语 而不是数据库术语 当您使用 ORM 或应用程序保存数据
  • jquery - 数据表更改 sScrollY

    我想更改数据表的可滚动区域的大小 example dataTable sScrollY 100 some stuff example dataTable sScrollY 101 wrong cannot reinitialize data
  • Java中有goto语句吗?

    我对此很困惑 我们大多数人都被告知 Java 中没有任何 goto 语句 但我发现它是Java中的关键字之一 可以用在哪里呢 如果不能使用 那为什么要把它作为关键字包含在Java中呢 James Gosling 在以下支持下创建了最初的 J
  • Java源代码解析器

    我需要以编程方式从 Java 源文件中提取方法定义 实现 您能推荐我可以使用的任何方便的库吗 谢谢 ANTLR http antlr org 是一个解析器 生成器 具有 Java 和其他语言 的语法 它可以生成一个抽象语法树 AST 您可以
  • 如何在application.ini中设置数据库时区

    我在 Zend Framework 中有一个应用程序 它必须在与服务器不同的时区运行 application ini 中是否有设置数据库服务器 本例中为 MySQL 时区的选项 我当前的选择是 resources db adapter Pd
  • python的shutil.copyfile()是原子的吗?

    我正在编写一个 python 脚本 它使用以下命令复制文件Shutil copyfile http docs python org 2 library shutil html shutil copyfile在 Linux 上 在复制过程中
  • 在具有可变参数的函数中使用默认参数。这可能吗?

    我有以下代码 在这里 我想利用赋予 a 的可选参数 即 5 而不是 1 如何使元组 数字 包含的第一个元素为 1 而不是 2 def fun varargs a 5 numbers dict print Value of a is a fo
  • 有什么理由不引用变量吗?

    有没有valid为什么不将 shell 脚本中的所有变量放在引号中 我认为 不知道更好 并不是一个有效的理由 一般来说 引用变量可以确保它们被视为一个变量 如果它们包含空格或其他特殊字符 那么为什么有人会选择 不安全 的方式而不引用变量呢
  • 开玩笑:为什么它会失败并出现 TypeError: Path Must be a string。收到未定义

    我编写了一个 React 应用程序并使用 jest 编写单元测试 当我通过 jest config jest config json watch 运行它时 出现以下错误 测试套件运行失败 TypeError Path must be a s
  • 如何检索具有一个值的所有对象数组?

    这个问题是来自的后续问题this https stackoverflow com questions 17112360 php multi dimension array 17112404 noredirect 1 comment24760
  • Laravel 5.5 权限 - 用户没有正确的角色

    我试图在管理员用户没有分配的角色的用例中找到解决方案 在仪表板视图中 它不会为用户呈现 url 而如果我直接访问仪表板 用户 我会得到 Spatie Permission Exceptions UnauthorizedException u