当前位置: 首页 > 知识库问答 >
问题:

检查身份验证用户角色id是否与Laravel中的数组匹配

晋安国
2023-03-14

我正在尝试评估身份验证用户的角色数组。100和102是我要检查的角色值。如果身份验证用户具有其中之一,则返回true。这可能吗?以下是我目前的代码

if (Auth::user()->role_id == ([100, 102]) {
//process code here. A lot of code. 
}

我不希望一次重复检查一个,因为处理代码太多,会使文件过长。

共有2个答案

苏坚成
2023-03-14
As hassan said you can use in_array()

$a= Auth::user()->role_id;
$b= in_array(100, $your_array);
$c= in_array(102, $your_array);

if ( $a == $b && $a == $c ) {
  //process code here. A lot of code. 
}
长孙朝明
2023-03-14

in_array()绝对适合您:

if (in_array(auth()->user()->role_id, [100, 102]))

在这种情况下,您还可以定义一个全局帮助器来检查当前用户是否属于某个角色或角色组:

if (! function_exists('isAdmin')) {
    function isAdmin()
    {
        return in_array(auth()->user()->role_id, [100, 102]);
    }
}

然后,您将能够在控制器、模型、自定义类等中使用此帮助器:

if (isAdmin())

甚至在刀片视图中:

@if (isAdmin())
 类似资料:
  • 我正在研究使用JWT身份验证的Spring Security实现。我不确定如何检查用户角色并在方法级别获得经过身份验证的用户。我在网上看到这个例子: 我需要从JWT令牌中提取用户类型吗?还有其他方法可以实现吗?在我看来,仅使用是不完整的。 看起来这段代码是用来获得用户如果使用会话类型,我得到NPE。你知道对于JWT我如何才能成为用户吗? Github完整来源:https://Github.com/

  • 我与拉雷维尔和托拉斯合作,基础工作很好。我确实有一个问题似乎不是随包而来的。我想要的是,当我执行时,如果他们登录,它也会返回他们的角色。目前我知道我可以做

  • 这是用户模型: 这是榜样: 正如您所看到的,这两个模型之间存在多对多关系。 现在我想得到一个用户角色的ID数组。为此我写了这个: 但上面的代码返回一个数组,其中包含引用用户拥有的每个角色ID的对象: 但是我想返回一个角色的ID数组,如下所示: 我怎么能那样做?

  • 我在学Spring保安。 在浏览了一些教程之后,我发现其中一些使用了UserRole,而一些使用了一个实现身份验证的UserAuthentication类。我尝试实现的一个(并起作用)是创建一个自定义的MyUserDetailsService,它实现UserDetailsService,并授予权限(角色?)像这样: 我想知道用户角色和GrantedAuthorities之间有什么区别(例如,当使用

  • 我正在尝试在 Swift 中创建一个 iOS 应用程序,该应用程序使用 AWS Lambda 使用以下身份验证服务 - https://github.com/danilop/LambdAuth 它使用适用于 iOS 的 AWS 移动开发工具包与迪纳摩数据库和 Lambda 进行通信 - http://docs.aws.amazon.com/mobile/sdkforios/developergui

  • 本文向大家介绍js验证真实姓名与身份证号是否匹配,包括了js验证真实姓名与身份证号是否匹配的使用技巧和注意事项,需要的朋友参考一下 最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号。 进入正题   js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-