问题标签 [entrust]

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 投票
1 回答
455 浏览

php - Laravel 5 Entrust - 用户属于许多应用程序

我在 Laravel 5.3 中使用 Entrust 包来管理用户角色和权限,它运行良好。

问题是我的用户 属于许多 应用程序,因此我需要检查角色和权限,并考虑他们在每种情况下尝试在哪个应用程序中执行操作。

由于 Entrust 没有提供开箱即用的功能......我应该将app_id字段添加到数据透视 Entrust role_user表中吗?那么,我将如何检查每种情况下的角色?通过覆盖委托方法?

提前致谢。

0 投票
1 回答
488 浏览

laravel - 如何修复在 laravel 中使用委托包后发生的错误

我遵循了有关如何通过 laravel 应用程序使用角色、权限的教程。我正在使用委托包这个接口:

界面

但是,我面临 2 个错误,(我将在同一个主题中讨论它们,因为我认为它们可能是由同一件事引起的):

1) Gate.php 第 317 行中的 ErrorException:isset 中的偏移类型非法或为空

--> 当我点击“项目”或“角色”时会发生这种情况

2) UserController.php 第 88 行中的 FatalErrorException:在 null 上调用成员函数 pluck()

--> 当我尝试编辑用户时会发生这种情况

这是它用户控制器:

这是 ItemController :

这是 RoleController :

模型:User.php

谁能帮我解决这个问题?提前致谢。

更新 :

在我的 .env 文件中将驱动程序更改为数组后。CACHE_DRIVER=array 我在点击项目或角色时得到这个。现在试图找出如何将角色分配给用户!

在此处输入图像描述

0 投票
1 回答
457 浏览

php - 即使在登录后,Laravel 也会在每个页面上重定向到登录

自从我删除了 Entrust 后,我​​在使用 Laravel 时遇到了问题。

在我尝试安装 Entrust 之前一切正常。我删除了它,因为它一直说以下消息与这个问题Laravel 缓存存储不支持标记相同

Laravel 缓存存储不支持标记

我删除了与 Entrust 相关的所有内容并删除了我必须进行的任何更改,但从那时起,每当我在登录后尝试转到另一个页面时,它都会重定向回登录页面。我重新登录,它应该会重定向到仪表板,但是一旦我转到另一个页面,它就会将我重定向回再次登录。

任何想法如何解决这一问题?

更新

我想我已经缩小了问题的范围。

我创建了一个新项目并重新开始。我创建了 Auth,创建了几个测试控制器和视图。

我正常登录,我被重定向到主控制器。然后我转到另一个页面,它加载正常。视图使用views/layouts/app.blade.php 中的默认布局。一旦我将其更改为自定义布局,问题就会再次出现,但如果我将其更改回 app.blade.php 就可以了

这是我的新 default.blade.php 但我不明白为什么这不再起作用

0 投票
1 回答
513 浏览

php - Laravel Entrust,查询用户在哪里没有角色

我想返回所有不存在各种关系和各种角色的用户。

目前,这可以正常工作:

我还想要删除具有“管理员”角色的用户。

到目前为止,我已经尝试过:

但它返回错误:

调用未定义的方法 Illuminate\Database\Query\Builder::hasRole()

如何过滤掉具有特定角色的用户?

0 投票
1 回答
531 浏览

php - Laravel 5 无法使用 Entrust 登录

我一直在尝试让 Entrust 按照此处的说明使用 Laravel 5 https://github.com/Zizaco/entrust

我已按要求进行了所有更改,添加了用户和角色(我没有添加权限,因为我不需要检查它们......只是角色),为用户分配了角色以及当我尝试登录用户时我收到此错误消息

传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给定 App\User 的实例,在 C:\www\procurement2\vendor\laravel\framework\src 中调用\Illuminate\Auth\SessionGuard.php 在第 385 行并定义

我不知道这个错误是什么意思或如何解决它

这是所有代码更改

应用程序/用户.php

应用程序/Http/Kernel.php

应用程序/配置/app.php

应用程序/config/auth.php

0 投票
2 回答
402 浏览

php - 使用 Entrust 时如何修复 Laravel BadMethodCallException

总是得到

当我尝试运行包含保存功能的数据库命令时,它会产生此错误,我认为是因为 Entrust。

在 RegisterController 它显示相同的错误

但它仍然注册用户。都一样,但代码的任何其他部分都停止了。我该如何解决这个错误。

注册控制器代码

0 投票
0 回答
907 浏览

php - Laravel 委托角色和权限

您好,我希望能够从我的管理面板中为角色分配权限我正在获得 foreach 角色的权限,但我无法保存它们查看 我现在想要选中的照片 并将选中的框与数据库同步以便权限为角色保存这是我的观点:

这是我的控制器

0 投票
1 回答
1043 浏览

laravel - 调用未定义的方法 Illuminate\Database\Query\Builder::attachPermissions()

我知道这已经是一个被过度讨论的问题,但我相信我并没有犯通常犯的错误。使用 Laravel 的 Entrust 包创建角色和权限时出现此错误。我正在尝试将权限附加到角色(注意,不是直接附加到模型)并收到此错误。这是一些代码:

现在,根据我的发现,当人们尝试直接在用户或其他模型上设置权限时,通常会出现此错误。但我不这样做。我正在尝试为角色分配权限,但仍然出现此错误。有人可以帮忙吗?

0 投票
2 回答
2251 浏览

database - Entrust - 这个缓存存储在 Laravel 5.1 中不支持标记

在搜索了所有可能的答案后,我仍然不知道如何解决这个问题。我正在为 laravel 使用zizaco/ entrust 包,每次我将数据保存到数据库中时,它都会返回一个错误

Repository.php 第 294 行中的 BadMethodCallException:
此缓存存储不支持标记。


他们说,我只需要使用CACHE_DRIVER=array,其他人说use memcached or redis。我必须使用array吗?有人说这是解决问题的正确方法。或者我可以cache在没有标记的情况下使用吗?



TIA

0 投票
0 回答
233 浏览

php - 如何使用委托在 laravel 中使用基于角色的访问

我正在使用 Laravel 5.4。我想将所有权限分配给“管理员”角色。但员工不能删除或编辑记录。我正在使用Entrust包获取基于角色的权限。

我已经为此编写了路线,但不幸的是它不适用于员工。

这是我尝试过的另一种方法,但不幸的是它也不起作用。

如果你建议我在 Laravel 中使用 Policy。我已经尝试过了,但我不明白这有什么问题。你能给我举个例子吗?谢谢