视图中的Laravel Multi-Auth@Auth语法



我在Laravel 5.5中有一个多身份验证系统设置(使用Hesto包的自定义版本),除了这一个细节之外,一切都像我喜欢的那样工作。在"welcome.php"登录页上,导航栏应分别显示登录状态和授权用户类型的不同链接。

情况1:-用户未登录,应该看到两个身份验证链接:1) 用户登录2) 客户端登录情况2:-用户以"用户"身份登录,应该只看到其仪表板的链接("/User/dashboard")情况3:-用户以"客户端"身份登录,应该只看到他们各自仪表板的链接("/client/dashboard")

我认为下面的语法是正确的,但在@else语句之后我遇到了问题。案例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',"密码"=>"用户",],//防护装置"卫士"=>["客户端"=>['driver'=>'session',"provider"=>"clients",],"用户"=>['driver'=>'session','provider'=>'users',],"admin"=>['driver'=>'session','provider'=>'admins',],'web'=>['driver'=>'session','provider'=>'users',],"api"=>['driver'=>'token','provider'=>'users',],],//提供商"提供商"=>["客户端"=>["driver"=>"雄辩",'model'=>App\Client::class,],"管理员"=>["driver"=>"雄辩",'model'=>App\Admin::class,],"用户"=>["driver"=>"雄辩",'model'=>应用程序\用户::类,],],

调试工具栏屏幕截图

今天下午坐下来工作,检查了相关的外墙。我说得对,这只是我语法上的一个简单错误。从那以后我一直在踢自己。

万一它对其他人有用。。。

我有多个活动的防护程序来启用我的应用程序所需的"用户"、"客户端"one_answers"管理员"模型。在这种情况下,我需要调用authfacade的guard方法,然后分别对每个方法进行->check()。见下文:

@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

最新更新