2017-05-26 65 views
0

Web.phplaravel5.4我不能登錄,當我嘗試登錄重定向到同一個登錄頁面

Route::get('/' , ['as' => '/' , 'uses'=> '[email protected]']); 
    Route::post('/login', ['as' => 'login', 'uses'=> '[email protected]']); 

    Route::group(['middleware' =>['authen']],function(){ 
    Route::get('/logout' ,['as'=>'logout', 'uses'=> '[email protected]']); 
    Route::get('/dashboard',['as'=>'dashboard', 'uses'=> '[email protected]']); 

}); 

dashboardController

<?php 
namespace App\Http\Controllers; 
use Illuminate\Http\Request; 

class dashboardController extends Controller 
{ 
    public function __construct() 
    { 
     $this->middleware('web'); 
    } 
    public function dashboard() 
    { 
     return view('layouts.master'); 
    } 
} 

Authen.php

<?php 
namespace App\Http\Middleware; 
use Closure; 
use Illuminate\Support\Facades\Auth; 

class Authen 
{ 
    public function handle($request, Closure $next ,$guard ='web') 
    { 
     if (!Auth::guard($guard)->check()) 
     { 
      return redirect()->route('/'); 
     } 
     return $next($request); 
    } 
} 

loginController

<?php 
namespace App\Http\Controllers; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 
use Illuminate\Http\Request; 
use Auth; 

class loginController extends Controller 
{ 

use AuthenticatesUsers; 

    protected $username = 'username'; 
    protected $redirectTo = '/dashboard'; 
    protected $guard = 'web'; 

    public function getLogin() 
    { 
    if (Auth::guard('web')->check()) 
    { 
     return redirect()->route('dashboard'); 
    } 
    return view('login'); 
    } 

    public function postlogin(Request $request) 
    { 
    $auth = Auth::guard('web')->attempt(['username'=>$request->username,'password'=>$request->password,'active'=>1]); 

    if ($auth) 
    { 
     return redirect()->route('dashboard'); 
    } 
     return redirect()->route('/'); 
    } 

    public function getLogout() 
    { 
    Auth::guard('web')->logout(); 
    return redirect()->route('/'); 
    } 

} 

當我嘗試登錄它重定向到相同的頁面即登錄頁面,我花了很多小時來解決這個問題,但我不能讓別人幫助我。我想通過登錄頁面重定向儀表板。但它不會發生。沒有錯誤顯示,我也不能去儀表板頁面

回答

1

試試這種方式在postlogin函數來檢查用戶身份驗證。

$auth = Auth::attempt(['username'=>$request->username,'password'=>$request->password,'active'=>1]); 
if($auth){ 
//do something... 
}