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

Laravel委托返回具有角色的身份验证用户

吴胜涝
2023-03-14

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

下面是我目前设置头部的方式。刀身php文件

<?php if( Auth::user() ){ $roles = Auth::user()->roles()->get(); }else{$roles = null;} ?>

<!-- global config -->
<script>

    window.Laravel = {!! json_encode([
        'csrfToken' => csrf_token(),
        'stripeKey'=> config('services.stripe.key'),
        'user'=> Auth::user(),
        'roles' => $roles,

    ]) !!};

</script>

如果不需要角色对象,而是通过窗口进行访问,那就简单多了。laravel.user.roles


共有1个答案

商俊智
2023-03-14

您正在寻找load方法:

'user'=> Auth::user() ? Auth::user()->load('roles') : null,

但是,根据需要,这种方法可能会有一些不需要的属性,比如透视表属性。

最好在控制器中创建一个user属性,并将其传递给包含所需信息的视图。

 类似资料:
  • 我试图验证用户在我的Laravel应用程序。 我遇到以下问题: 在auth.php中使用驱动程序数据库:我可以使用auth::attempt()登录,并且auth::check正在工作,但是我不能验证登录的用户是否具有某个角色。 在auth.php中使用驱动程序雄辩:我可以使用auth::attempt()登录,但是auth::check不工作。然而,我可以检查登录用户的角色。 编辑(问题):我如

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

  • 我试图为AWS实现“开发人员身份验证身份”,如下所示:https://AWS.amazon.com/blogs/mobile/amazon-cognito-innecling-developer-authenticated-identities/ 我很好地理解了基本流程。 我怎样才能做到这一点?

  • 我正在尝试创建一个委托身份验证提供程序来执行逻辑,然后根据一些任意逻辑决定选择哪个身份验证提供程序;为了这个例子,如果用户名以前缀开头。 我当前的SecurityConfig将一次尝试一个身份验证提供程序: 根据用户名,我想选择是否要使用try a provider,这样,如果用户名不是以特定前缀(“ldap”、“custom”、“ad”等)开头,它们就不会被调用...),所以: 我似乎无法以这种

  • 问题内容: 我需要使用Active Directory身份验证在MVC4和EF5中实现一个项目,但必须在SQL中实现角色,而不是使用角色的AD组。 到目前为止,我已经得到了一些实体的支持……我希望它能有所帮助。 角色 用户 用户角色 我正在尝试使用[角色]批注。是否有可能? 问题答案: 我想我明白了。 请随时进行改进并重新发布:

  • 我试图通过ARM模板将Service Bus Receiver角色添加到用户分配的托管标识中。 i、 e.这一作用。https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#azure-服务总线数据接收器 这是模板 它返回这个错误。 状态消息:不允许更新租户ID、应用程序ID、主体ID和作用域。(