2016-03-21 24 views
0

Laravel 5.2 projesi üzerinde çalışıyorum ve kullanıcı, bayrak ve ülkem var. ulaşmak için çalışıyoruz Ne im her kullanıcı Bayrak menüsünden tıklayabilir ve kullanıcı olduğu ülke için bayraklar bir listesini sunmak gerektiğidir.Laravel 5.2- Kullanıcı kısıtlaması

böylece Kullanıcı

Bayraklar country_id gelmiş country_id etti. Şu anda, her kullanıcı için ve ilgili ülkeye ait bayrakları gösterebileceğim .

İşte rota.

Route::get('flags/{Country_id}','[email protected]'); 

görünüm

<a href="flags/{{Auth::user()->country_id}}"> 

ve benim denetleyicisi

public function showFlags($id) 
{ 

    $country = new Country; 
    $country = $country->find($id); 

    $flags = $country->flags; 


    return view('layouts.f.mainf',compact('flags')); 

} 

sorun ben başka bir şey için url üzerinde ilçe kimliği değiştirirseniz, başka bayraklarını gösterecektir olduğunu ülke, kullanıcıların ülke URL'siyle eşleşmesi durumunda yalnızca bu hesabın erişilebilir olacağını nasıl sınırlayabilirim? Ben orta yazılım hakkında bir şey okudum ama dürüst olmak gerekirse nasıl kullanacağımı bilmiyorum.

cevap

1

O katman sadece basitçe bu

public function showFlags($id) 
{ 
    if($id != \Auth::user()->country_id) 
    { 
     throw new ProperException; 
    } 
    $country = new Country; 
    $country = $country->find($id); 

    $flags = $country->flags; 
    return view('layouts.f.mainf',compact('flags')); 
} 
+0

ne ara katman daha sonra iyi gelir açıklayabilir yapmak, burada gerekli olduğunu sanmıyorum? ve çözüm için teşekkür ederim çözümü gördükten sonra aptalca hissediyorum aptal – marybane

+0

Nah, kötü hissetme, eminim ki herkes bazen bu tür şeylere girer, ama dürüst olmak gerekirse ben açıkça sizin sorunuzu anlamadım, middlewares nerede kullanılacağını bilmek ister misiniz? – Hrach

+0

Tam olarak ne için middleware kullanabilirim? – marybane