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

视图中的Laravel Multi Auth@Auth语法

甄云
2023-03-14

我在Laravel5.5中有一个多身份验证系统设置(使用Hesto软件包的自定义版本),除了这一个细节之外,一切都正常工作。在“welcome.php”html" target="_blank">登录页面上,导航栏应该显示登录状态和授权用户类型的不同链接。

case 1:
  -User is not logged in, and should see two auth links:
    1)  User login
    2)  Client login

case 2:
  -User is logged in as a "user", and should only see a link for their dashboard ('/user/dashboard')

case 3:
  -User is logged in as a "client", and should only see a link for their respective dashboard ('/client/dashboard')

我认为我下面的语法是正确的,但是我有一个问题在@ther语句之后。案例1显示根本没有链接,也没有错误响应。

@if (Route::has('login'))
    // Check 'user' guard
    @auth('user')
        <a class="nav-item nav-link theme-faded-bg-light" href="{{ url('/user/dashboard') }}">Dashboard</a>
    @endauth
    // Check 'client' guard
    @auth('client')
        <a class="nav-item nav-link theme-faded-bg-light" href="{{ url('/client/dashboard') }}">Dashboard</a>
    @endauth
@else
    <a class="nav-item nav-link theme-faded-bg-light" href="{{ route('user-login') }}">Firm Login</a>
    <a class="nav-item nav-link theme-faded-bg-light" href="{{ route('client-login') }}">Client Login</a>
@endif

我尝试了以上代码的几个重新组织/重新编制的版本,但都没有效果。大多数都会抛出语法错误。如有需要,我可以举例说明。我知道我错过了一件非常简单的事情,但我已经多次把头撞在墙上,没有希望自己找到它。

非常感谢提前。让我知道,如果你需要我的代码的任何其他位。

config/auth.php


    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],

    // Guards

    'guards' => [
        'client' => [
            'driver' => 'session',
            'provider' => 'clients',
        ],

        'user' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],

        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
    ],

    // Providers

    'providers' => [
        'clients' => [
            'driver' => 'eloquent',
            'model' => App\Client::class,
        ],

        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],

        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
    ],

调试工具栏截图

共有1个答案

吕征
2023-03-14

今天下午坐下来工作,检查了相关的门面。我是对的,这是我语法中的一个简单错误。从那以后一直踢我自己。

如果它对其他人有用。。。

我有多个活跃的守卫来启用我的应用程序所需的“用户”、“客户端”和“管理员”模型。在本例中,我需要调用auth facade的guard方法,然后-

@if(Auth::guard('user')->check())
    <a class="nav-item nav-link theme-faded-bg-light" href="{{ route('user.dashboard') }}">Dashboard</a>
@elseif(Auth::guard('client')->check())
    <a class="nav-item nav-link theme-faded-bg-light" href="{{ route('client.dash') }}">Dashboard</a>
@else
    <a class="nav-item nav-link theme-faded-bg-light" href="/user/login">Firm Login</a>
    <a class="nav-item nav-link theme-faded-bg-light" href="{{ route('client-login') }}">Client Login</a>
@endif
 类似资料:
  • 问题内容: 背景: 付款服务在后台对付款结果执行ping操作时,将调用该视图-之后,我需要以正确的语言发送电子邮件以确认付款,依此类推。我可以从付款服务器的请求中获取语言代码,并希望将其与Django的i18n系统一起使用,以确定以哪种语言发送电子邮件。 因此,我需要在视图中设置django应用程序的语言。然后一次完成我的模板渲染和电子邮件发送。 设置仅在我测试时影响下一个视图。 还有其他方法吗?

  • 视图(view)是 SQL 的一个概念,指的是基于 SQL 语句结果集的可视化表。和表(table)一样,视图也拥有行、列和字段,视图的字段可以来自于一个或多个数据库中的表,因此又称为虚表,支持 SQL 函数、WHERE 以及 JOIN 语句。 视图的定义并不会影响数据库原本的结构设计,但是视图字段是表字段的映射,效果类似于编程语言中的引用类型,对视图的更新(如果允许更新的话)会反过来修改表中的数

  • 问题内容: 我正在开始一个大型的Codeigniter项目,并想尝试为内容片段(如可能在不同页面/控制器上显示的数据循环)创建一些可重用的“迷你”视图。 从主控制器的视图中调用视图更好吗?如果是这样,怎么办?还是应该从控制器调用“迷你视图”,然后将视图的代码传递给主视图? 问题答案: 其他视图中的视图称为 嵌套视图 。在CodeIgniter中包括嵌套视图的方法有两种: 1.将嵌套视图加载到控制器

  • 我有一个android布局,它有一个,里面有很多元素。在的底部有一个,然后由适配器填充。 我遇到的问题是,android将从中排除,因为已经具有可滚动的功能。我希望与内容一样长,并且主滚动视图是可滚动的。 我怎样才能达到这种行为呢? 下面是我的主要布局: 然后以编程方式将组件添加到具有ID:的linearlayour中。下面是加载到LinearLayout中的一个视图。就是这个给我卷轴带来麻烦的。

  • 如果你不使用 CodeIgniter 的 模板引擎, 那么你就只能在视图文件中使用纯 PHP 语法了。为了精简视图文件, 使其更可读,建议你在写控制结构或 echo 语句时使用 PHP 的替代语法。 如果你还不熟悉这个语法,下面将介绍如何通过这个语法来消灭你代码 中的大括号和 echo 语句。 自动短标记支持 注解 如果你发现本页所介绍的语法在你的服务器上行不通,那么有可能是 你的 PHP.ini

  • 我有一个视图,我想显示数据库中的记录 ID 但他告诉我这个错误: 6361DDA302A0F162671EE5B36A4BE93第26行中的FatalErrorException:语法错误,意外的“endif”(T_endif) 欢迎刀身php: CreatesController: