2016-03-03 138 views
1

這似乎是一個非常非常基本的問題來解決,但我一直無法。上次我使用laravel和8個月前一樣,並且有些事情現在無法用這個基本的Login - Auth的東西運行。Laravel 5.2 - 登錄和用戶會話

我使用laravel 5.2,這裏是我的登錄名:

ROUTE:

Route::post('login', [ 
    'as' => 'post_login', 
    'uses' => 'Auth\[email protected]' 
]); 

驗證\ AuthController.php:

public function login(Request $request) 
{ 
    if(Auth::attempt([ 
     'email' => $request->get('email'), 
     'password' => $request->get('password'), 
     'active' => 1 
     ])) 
    { 

     $user = Auth::user(); 

     var_dump($user); 

    } 
    else 
    { 
     return 'Could not log in'; 
    } 
} 

當我登錄與一個註冊用戶,它顯示我的用戶正確,現在everyhting進行完美。

但問題是,在主菜單中,我看不到用戶名而不是「登錄」 - 「註冊」按鈕。即使我點擊其中一個按鈕,也沒有任何反應,視圖不會改變,並且什麼也不做。

我的主菜單標記:

<nav class="navbar navbar-default"> 
     <div class="container"> 
      <div class="navbar-header"> 

       <!-- Collapsed Hamburger --> 
       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse"> 
        <span class="sr-only">Toggle Navigation</span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
       </button> 

       <!-- Branding Image --> 
       <a class="navbar-brand" href="{{ url('/') }}"> 
        Fotopredio 
       </a> 
      </div> 

      <div class="collapse navbar-collapse" id="app-navbar-collapse"> 
       <!-- Left Side Of Navbar --> 
       <ul class="nav navbar-nav"> 
        <li><a href="{{ url('/home') }}">Home</a></li> 
       </ul> 

       <!-- Right Side Of Navbar --> 
       <ul class="nav navbar-nav navbar-right"> 
        <!-- Authentication Links --> 
        @if (Auth::guest()) 
         <li><a href="{{ route('login') }}">Login</a></li> 
         <li><a href="{{ route('registration') }}">Registro</a></li> 
        @else 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> 
           {{ Auth::user()->email }} <span class="caret"></span> 
          </a> 

          <ul class="dropdown-menu" role="menu"> 
           <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li> 
          </ul> 
         </li> 
        @endif 
       </ul> 
      </div> 
     </div> 
    </nav> 

你可以看到@if(AUTH ::客())...它不工作,甚至當我登錄,我可以看到登錄和註冊按鈕,當我點擊它們時,沒有任何反應。我甚至無法註銷。

編輯

我有這個標記在我的歡迎頁面,用戶應該看到它在登錄後的頁面。

@extends('layouts.app') 
@section('title', 'Home') 
@section('body') 

<?php 
if (Auth::check()) { 
    echo "Loged In"; 
} else { 
    echo "not loged in"; 
} 
?> 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-10 col-md-offset-1"> 
      <div class="panel panel-default"> 
       <div class="panel-heading">Welcome</div> 

       <div class="panel-body"> 
        Your Application's Landing Page. 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
@endsection 

即使以後我登錄,它顯示NOT LOGED IN

+0

嘗試添加ELSEIF:後(認證用戶()) if(Auth :: guest()) – Niall

+0

我要更新我的問題,以便您可以看到更多實際發生的事情 –

+0

@Niall正如您所看到的一直是POST方法(: –

回答

1

您的Welcome路由也需要在您的網絡中間件。更改爲laravel 5.2意味着會話僅在該網絡中調用/運行中間件

所以,如果Welcome是不是在網絡中間件,你會不會登錄(Matt擁有這個變化here一個很好的鏈接)