2016-11-29 54 views
3

我是laravel框架的新手,并试图在我的网站上实现登录系统。我的网站有着陆页。根据用户登录状态,我需要更改此链接,如下图所示。无法访问Auth ::在我的视图laravel中检查5.3

<ul class="secondary_menu"> 
    @if(Auth::guard('customer')->check()) 
    <li><a href="{{url('/logout')}}" >Logout</a></li> 
    @else 
    <li><a href="{{url('/login')}}" >Login or Register</a></li> 
    @endif 
</ul> 

这里的负责加载这个观点

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Requests; 

class CustomerController extends Controller 
{ 
    public function index() 
    { 
     return view('public.index'); 
    } 

} 

我得到一个错误的控制器,说Class 'Auth' not found

我尝试添加use Authuse \Auth在其他slimier样的问题建议在计算器中,但没有为我工作。我究竟做错了什么。是不是可以检查从查看电话Auth

+0

在你的'''config/app.php'''文件中,是''''Auth'=>照亮\ Support \ Facades \ Auth :: class'''别名? – aceraven777

回答

1

上作为替代到Auth::立面你可以用全球帮手:

auth()->check(); 
auth()->user(); 
+0

谢谢,你能解释我如何检查特定警卫的身份验证(在我的情况'客户')?因为我的Web应用程序有公共(客户)结束和管理结束(管理面板)。 –

+0

只需将'Auth ::'更改为'auth()'。所以'auth() - > guard('customer') - > check()'应该可以正常工作。 –

+1

谢谢,这解决了这个问题。 –

2

将下面的代码使用验证在你的代码:

use Illuminate\Support\Facades\Auth; 

,然后用它喜欢:

if (Auth::check()) 
{ 
    // your code 
} 
+0

将'使用Illuminate \ Support \ Facades \ Auth;'添加到控制器没有解决问题。这个if语句是什么意思?你是否说刀片语法存在问题? –

0

试试这个控制器

use Illuminate\Support\Facades\Auth;