2015-05-08 44 views
11

Tôi cố gắng tạo một kịch bản đăng nhập và quản trị viên, vấn đề là tôi có vòng lặp chuyển hướng Tôi không biết tại sao.Lỗi vòng lặp chuyển hướng Laravel 5

Tôi muốn người dùng đăng nhập và có thể ở đường dẫn / không phải /home.

Nếu thay đổi return new RedirectResponse(url('/'));-return new RedirectResponse(url('/anotherpage')); nó hoạt động nhưng tôi muốn trở thành /

Tuyến đường:

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


    // Tutorials Routes 

    Route::get('/tutorials', '[email protected]'); 
    Route::get('/tutorials/{category?}', '[email protected]'); 
    Route::get('/tutorials/{category?}/{lesson?}', '[email protected]'); 

    // Courses and Series Routes 

    Route::get('/courses-and-series', '[email protected]'); 

    // Admin Routes 

    Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'],     function() 
    { 
     Route::get('/admin', function() 
     { 
      return 'Is admin'; 
     }); 
    }); 

    Route::controllers([ 
     'auth' => 'Auth\AuthController', 
     'password' => 'Auth\PasswordController', 
    ]); 

quản lý trung gian:

public function handle($request, Closure $next) 
    { 
     if (Auth::user()->type != 'Admin') 
     { 
      return abort(404); 
     } 

     return $next($request); 
    } 

RedirectIfAuthenticated:

public function handle($request, Closure $next) 
    { 
     if ($this->auth->check()) 
     { 
      return new RedirectResponse(url('/')); 
     } 

     return $next($request); 
    } 

Home Bộ điều khiển:

class HomeController extends Controller { 
    public function __construct() 
    { 
     $this->middleware('guest'); 
    } 

    public function index() 
    { 
     return view('home'); 
    } 

    public function tutorials() 
    { 
     return view('pages.tutorials'); 
    } 

    public function tutorialsCategory() 
    { 
     return view('pages.tutorials'); 
    } 

    public function tutorialsLesson() 
    { 
     return view('pages.single'); 
    } 

    public function coursesandseries() 
    { 
     return view('pages.coursesandseries'); 
    } 

    public function single() 
    { 
     return view('pages.single'); 
    } 
} 
+0

thử trả lại 'trả về RedirectResponse mới' (tuyến đường ('nhà')); ' – Digitlimit

+0

ERR_TOO_MANY_REDIRECTS – Roberto

+0

của nó là những tuyến đường duy nhất bạn có? làm bạn có một middleware trong một bộ điều khiển xây dựng? Bạn có đính kèm phần mềm trung gian vào HomeController không? Tôi có thể xem mã cho HomeController không. Vấn đề có thể là từ nó – Digitlimit

Trả lời

9

Bạn đang có những chuyển hướng vòng bởi vì tất cả các phương pháp trong HomeController được bảo vệ bởi Khách Middleware.

Vì bạn muốn chuyển hướng người dùng xác thực để HomeController @ index

Di $this->middleware('guest'); từ HomeController

hoặc

Sửa đổi Middleware Khách bỏ qua phương pháp chỉ số

$this->middleware('guest', ['only' => ['tutorials','tutorialsCategory']])

Danh sách các phương pháp khác mà bạn muốn bảo vệ với Guest Middlew đang loại trừ phương pháp Chỉ mục

Các vấn đề liên quan