2015-05-08 29 views
11

Oturum açma ve yönetici komut dosyası oluşturmaya çalışıyorum, sorun şu ki bir yönlendirme döngüsüm var Neden bilmiyorum.Laravel 5 yönlendirme döngüsü hatası

Giriş kullanıcılarını istiyorum ve /home numaralı / yolunda olabilir.

Eğer değişim return new RedirectResponse(url('/'));return new RedirectResponse(url('/anotherpage')); için çalıştığını ama /

Rotalar olmak istiyorum:

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', 
    ]); 

Yönetici katman:

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); 
    } 

Ana Denetleyici: HomeController tüm yöntemler Misafir Middleware'in korunur çünkü bu yönlendirmeyi yaşıyorsanız

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

Dizin yöntemini hariç tutmayı deneyin, bu yeni döndürme RedirectResponse (rota ('ev')); ' – Digitlimit

+0

Çalışmıyor ERR_TOO_MANY_REDIRECTS – Roberto

+0

bunlar sahip olduğunuz tek yollardır? Kontrolör yapısında bir ara katman var mı? HomeController'a bir katman yazılımı eklediniz mi? HomeController'ın kodunu görebilir miyim? Sorun şu olabilir – Digitlimit

cevap

9

döngüler. dizine @ HomeController yetkisi doğrulanmış kullanıcıların yönlendirmek isteyen yana

HomeController

veya

endeksi yöntemini

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

listesi görmezden Misafir Middleware değiştirin dan $this->middleware('guest'); kaldır Konuk Middlew ile korumak istediğiniz diğer yöntemler