2015-09-14 14 views
5

Laravel 5.1 tabanlı bir sistem üzerinde çalışıyorum. Buradan problemin denetleyicisi aşağıdaki işlevlere sahiptir beklediğiniz gibiBelirli denetleyici işlevlerinde Auth Laravel 5.1

Route::resource('applicant', 'ApplicantController'); 

:

index, create, store, edit, update, delete 

Ya istediğim tek index fonksiyonunda katman auth uygulamaktır bir rota kaynak var.

public function __construct() 
{ 
    $this->middleware('auth'); 
} 

Ama sadece çıkarın ve ne zaman yapmak: Normalde tüm denetleyici üzerinde Auth uygulamak istiyorsanız, yapmanız gereken

public function index() 
{ 
    $this->middleware('auth'); 
    return view('applicant.index'); 
} 

O çalışmıyor. Bunu daha önce yaptım ve iyi çalışıyor. Bu benim ApplicantController içinde create işlevinin herkese açık olmasını ve yalnızca index oturum açma kimlik doğrulamasını uygulamasını istiyorum. Ben edit, update, delete

cevap

5

sen de ters

public function __construct() 
{ 
    $this->middleware('auth', ['except' => ['create', 'store', 'edit', 'update', 'delete']]); 
} 
+0

Wows yapabiliriz, mükemmel çalışıyor

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

deneyebilirsiniz kullanarak olmayacaktır. Teşekkürler! – jackhammer013

+0

havalı .. Memnuniyetle yardımcı olabilirim. – JLPuro

+0

_construct yöntemini kullanmanız gerekmez, çünkü değişiklikler belirli bir denetleyiciye ne zaman gerçekleşirse, geliştiricinin her denetleyicide özel olarak değiştirmesi gerekir. En iyi seçenek rota içinde auth fonksiyonu eklemek ve kontrolörleri belirtmektir. Sağlanan auth işleviyle ilgili herhangi bir sorun yaşarsanız, bir tane oluşturabilir ve onu kernalde belirtebilirsiniz. –

İlgili konular