问题标签 [laravel-permission]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
15770 浏览

php - The given role or permission should use guard `` instead of `web`. -Laravel

I am using a package spatie for user roles and permission. When creating and assigning a role to user, i get the error

The given role or permission should use guard `` instead of web

Below is how i save my data in the controller

What could be causing this issue in my application ?

Controller

config/auth.php

0 投票
3 回答
2269 浏览

php - Spatie/Laravel-Permissions:虚拟数据错误

我正在使用 Laravel 和 spatie/laravel-permission 包,如本教程中所述。但是,当我尝试创建虚拟数据时,它返回以下错误Spatie\Permission\Exceptions\RoleDoesNotExist : There is no role named Admin

下面是生成虚拟数据的类。

有什么办法解决吗?

0 投票
4 回答
1934 浏览

laravel - 在用户注册时分配角色

我在 laravel 工作,我正在使用 spatie 权限包,我想在注册时为用户分配不同的角色 我正在使用单选按钮从用户(例如编辑器、作家、博主)那里获取角色 我如何分配基于用户输入的用户不同角色

0 投票
1 回答
2609 浏览

php - Spatie laravel/permission - 修改表和方法

我正在使用 Laravel 5.6 和 Spatie laravel-permission,我想修改它,model_has_roles以便它可以有一个名为code.

现在,我通过修改库通过下一个命令提供的迁移来做到这一点:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

这个库提供了一个有用的命令:

$user->assignRole($role);

这让我可以在一行代码中为用户分配一个角色。我的问题是,使用此命令会引发错误,因为我不能将code字段留空。无论哪种方式,我都不能做这样的事情:

$user->assignRole($role, ['code' => '0001']);

因为它会这么说0001 is not a role。基本上,它假定我正在尝试为用户分配两个不同的角色:$role0001实际上我正在尝试分配一个角色:$role为 table 添加一个额外的参数model_has_roles

有没有办法归档这样的东西?我想也许我可以修改assignRole方法背后的逻辑,但我不知道如何扩展/编辑库方法。

0 投票
4 回答
1455 浏览

laravel - Laravel spatie/laravel-permissions Naming Conventions

Are there some naming guidelines I should be following when it comes to naming permissions? Right now, everything I find is just along the lines of "Add Foo","Edit Foo","Delete Foo","Add FooBar","Edit FooBar","Delete FooBar", and so forth and so forth.

Keeping in mind that there is no grouping (which is a real pity), and when you have a management screen for all said permissions - the above approach seems quite sloppy.

All your "adds" are together, "edits" are together, etc. eg:

Right now I'm leaning towards something along the lines of what route names look like, for example:

It's more organised in terms of keeping all the 'parent' permissions together (ie: all Foo's together, all FooBar's together, etc). Of course, if there are actual guidelines for this, please do let me know or if you have other valuable input / suggestions?

//Edit Update for Clarity

Specifically,

As mentioned previously, leaning towards laravel named routes as the guideline so would be: plural, lowercase, separated by dots, including full path (parent+child relationship). Just because thats what I'm leaning towards, doesnt mean its right though, hence me asking for input from the community :)

0 投票
2 回答
226 浏览

laravel - Laravel:中间件可以接受路由输入吗?

我想要实现的是,我在几个国家有观众。我也有不同国家的编辑。

例如,美国的编辑只能编辑和查看美国的帖子,香港的编辑不允许查看美国的帖子。

有可能实现这一目标吗?

P/S:我正在使用Spatie laravel-permission

0 投票
3 回答
2351 浏览

if-statement - 如何使用 laravel spatie 包检查 if 语句中的多个权限条件?

我需要检查 if 语句中的条件以获得多个权限。它使用来自 laravel 的 spatie 包。我在下面使用此代码,但似乎不起作用。它可以显示输出,但输出不正确。它不过滤条件。

代码是否正确?

条件是具有权限的用户(查看顾问、查看管理、查看会计、所有部门)可以查看所有部门的顾问、管理和会计列表。

对于有权限的用户(仅查看顾问)只能查看顾问列表。

0 投票
1 回答
6020 浏览

laravel - 允许某些角色访问 Laravel Nova 仪表板?

我安装了 Spatie Permissions 包,并创建了策略来限制使用此包的模型的访问权限。

但是,我在创建一个门以使某些角色(例如“管理员”和“内容编辑器”)访问 Nova 仪表板时遇到了一些困难?

我认为它会涉及 NovaServiceProvider 中的 gate() 函数。这是我尝试过的。

0 投票
6 回答
5943 浏览

laravel - Laravel 和 spatie/laravel-permission

从用户中删除所有角色的最佳或常用方法是什么?

我试过了

$roles = $user->getRoleNames(); $user->removeRole($roles);

提前致谢

0 投票
3 回答
3690 浏览

laravel - 为一个角色授予多个权限 - Spatie

我们如何一次将多个权限分配给一个角色?

在上面,我只允许第一个。

由于这也是实现的, $role->syncPermissions($permissions); 我很困惑 $permission 如何包含多个权限?

请问有什么建议吗?