2017-07-14 95 views
0

未驗證函數在Laravel中不起作用?我想重定向登錄頁面,如果未在Laravel 5.4中驗證

這是Handler.php

<?php 

namespace App\Exceptions; 

use Exception; use Illuminate\Auth\AuthenticationException; use 
    Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; 

class Handler extends ExceptionHandler { 
    /** 
    * A list of the exception types that should not be reported. 
    * 
    * @var array 
    */ 
    protected $dontReport = [ 
     \Illuminate\Auth\AuthenticationException::class, 
     \Illuminate\Auth\Access\AuthorizationException::class, 
     \Symfony\Component\HttpKernel\Exception\HttpException::class, 
     \Illuminate\Database\Eloquent\ModelNotFoundException::class, 
     \Illuminate\Session\TokenMismatchException::class, 
     \Illuminate\Validation\ValidationException::class, 
    ]; 

    /** 
    * Report or log an exception. 
    * 
    * This is a great spot to send exceptions to Sentry, Bugsnag, etc. 
    * 
    * @param \Exception $exception 
    * @return void 
    */ 
    public function report(Exception $exception) 
    { 
     parent::report($exception); 
    } 

    /** 
    * Render an exception into an HTTP response. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Exception $exception 
    * @return \Illuminate\Http\Response 
    */ 
    public function render($request, Exception $exception) 
    { 
     return parent::render($request, $exception); 
    } 

    /** 
    * Convert an authentication exception into an unauthenticated response. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Illuminate\Auth\AuthenticationException $exception 
    * @return \Illuminate\Http\Response 
    */ 
    protected function unauthenticated($request, AuthenticationException $exception) 
    { 
     if ($request->expectsJson()) { 
      return response()->json(['error' => 'Unauthenticated.'], 401); 
     } 

     return redirect()->guest(route('home')); 
    } 
} 

回答

0

unauthenticated()當登錄嘗試失敗,將調用。如果登錄嘗試失敗,用戶將被重定向回登錄頁面,他們可以在默認情況下查看與登錄嘗試相關的錯誤。要改變這種行爲,只需編輯重定向網址例如

protected function unauthenticated($request, AuthenticationException $exception 
{ 
    if ($request->expectsJson()) { 
     return response()->json(['error' => 'Unauthenticated.'], 401); 
    } 
    return redirect('home/dashboard'); 
} 
+0

謝謝!我已經解決了我的問題。 – Rafael

相關問題