我能够成功地检查用户是否具有单个角色。现在我需要检查的是,如果用户是管理员或员工,并且如果上述角色匹配,则返回true或false。我无法这样做,因为我使用了用户
和角色
之间的一对多关系,因此无法从角色数组中检查角色。
Users
---------------
* id
* name
* email
* password
* role_id
* created_at
Roles
---------------
* id
* name
* slug
* created_at
public function role()
{
return $this->belongsTo(Role::class);
}
public function hasRole(string $role)
{
if ($this->role()->where('slug', $role)->exists()) {
return true;
}
return false;
}
public function hasAnyRoles(array $roles)
{
if ($this->role()->whereIn('slug', $roles)->exists()) {
return true;
}
return false;
}
public function users()
{
return $this->hasMany(User::class);
}
public function toResponse($request)
{
if(Auth::user()->hasAnyRoles(['administrator', 'employee'])) {
return redirect()->route('backend.dashboard');
}
return redirect()->route('frontend.dashboard');
}
因为这是一个一对多的反向关系,你不能这样做。相反,你可以用这个。
public function role()
{
return $this->belongsTo(Role::class);
}
public function hasRole(string $role)
{
return $this->role()->where('slug', $role)->exists();
}
public function hasAnyRoles(array $roles)
{
if (is_array($roles)) {
foreach ($roles as $role) {
if ($this->hasRole($role)) {
return true;
}
}
}
return false;
}
您可以使用_array中的查看所分配角色的slug是否在您要传递的数组中:
public function hasAnyRoles(array $roles)
{
if ($this->role) {
return in_array($this->role->slug, $roles);
}
return false;
}
我正在做一个giverole命令,就像!giverole{member}{role},但是我怎么知道bot最高角色是否高于提到的角色。我还没试过什么,因为我卡住了,请帮帮我。 我正在使用discord.js v12
本文向大家介绍ansible 角色依存关系,包括了ansible 角色依存关系的使用技巧和注意事项,需要的朋友参考一下 示例 角色还使您可以通过创建meta/main.yml带有dependencies块的文件来将其他角色定义为依赖项: 也可以将值传递给依赖角色中的参数/变量: 甚至有条件地执行依赖角色: 依赖角色始终在依赖它们的角色之前执行。而且,它们仅执行一次。如果两个角色声明与其依赖关系相同
问题内容: 我想使用Spring Security JSP标签库根据角色有条件地显示一些内容。但是在Spring Security 3.1.x中,仅检查一个角色。 我可以使用,但 ifAllGranted 已弃用。 有什么帮助吗? 问题答案: 春季安全性中有一个特殊的安全性表达: hasAnyRole(角色列表) -如果已授予用户指定的任何角色(以逗号分隔的字符串 列表形式) ,则为true。 我
问题内容: 我有两个AWS账户-假设A和B. 在帐户B中,我定义了一个角色,该角色允许从帐户A中访问另一个角色。我们称其为角色B 在帐户A中,我定义了一个角色,该角色允许root用户承担角色。让我们称之为角色A 角色A附加了以下策略 作为帐户A的用户,我担任角色A。现在使用此临时凭据,我想承担角色B并访问帐户B拥有的资源。我有以下代码 该代码适用于我从客户端获得的一组角色,但不适用于我在我有权
接口说明 保存角色 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /permissions/api/team/role/v1.0.0/save 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN roleName string formData
接口说明 保存角色 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /permissions/api/team/role/v1.0.0/s