2016-04-09 28 views
1

Uygulamam için Laravel 5'in auth modülünü kullanıyorum. Ancak, php artisan make ile auth işlevlerini oluşturduktan sonra: auth yalnızca iki yola erişebilirim:/login ve/route, route.php'de nasıl rota eklediğime bakmadan. Diğer tüm yollar beni giriş sayfasına yönlendiriyor. Kullanıcıların giriş yapmadan belirli yollara erişmelerini nasıl sağlayabilirim? Teşekkürler.Laravel her zaman beni giriş sayfasına götürüyor

routes.php:

<?php 

/* 
|-------------------------------------------------------------------------- 
| Application Routes 
|-------------------------------------------------------------------------- 
| 
| Here is where you can register all of the routes for an application. 
| It's a breeze. Simply tell Laravel the URIs it should respond to 
| and give it the controller to call when that URI is requested. 
| 
*/ 

Route::get('/', function() { 
    return view('welcome'); 
}); 

Route::auth(); 

Route::get('/home', '[email protected]'); 

Route::get('/patient', '[email protected]'); 

Route::get('test', '[email protected]'); 

Route::group(array('before' =>'auth'), function() 
{ 
    Route::get('about', array('as' => 'about','uses' => '[email protected]')); 
} 
); 

Route::group(array('before' =>'auth'), function() 
{ 
    Route::get('/physician', array('as' => 'physician','uses' => '[email protected]')); 
} 
); 
+0

onların ortakatmanını kontrol etmek auth middlewere uygulamak homecontrollerand içinde ur yapı yöntemini kontrol edin. Laravel 5.2'deki güzergahlarda web 'ara katman yazılımı olmadan, oturumları olmayacak ve böylece kullanıcılar oturum açmış olarak görülmeyecekler. – ceejayoz

+0

Rotalarınızda .php ve Kernel.php var – trinvh

+0

İstediğim anlamına geliyor Kullanıcılar, oturum açmadan önce belirli sayfaları ziyaret et – Yangrui

cevap

1

Eğer kontrolör kodunu paylaşabilir miyim? Yani, kontrolör yapısında auth middleware var mı?

Route::group(['middleware' => 'web'], function() { 
    Route::auth(); 
    Route::get('/', function() { 
      return view('welcome'); 
      }); 
    Route::get('/home', '[email protected]'); 
    Route::get('/patient', '[email protected]'); 
    Route::get('test', '[email protected]'); 
    }); 

Route::group(array('before' =>'auth'), function() 
{ 
    Route::get('/physician', array('as' => 'physician','uses' => '[email protected]')); 
Route::get('about', array('as' => 'about','uses' => '[email protected]')); 
} 
); 

zaten sadece belirli yöntemlerle

exemple

public function __construct() 
    { 
     $this->middleware('auth', ['except' => [ 
      'about', 
      'index', 
     ]]); 
    } 
} 
+0

Evet, doğru cevap budur. Yapımcıdan auth ara katmanını kaldırdıktan sonra uygulama istediğim gibi çalıştı. Teşekkür ederim – Yangrui

İlgili konular