2016-03-21 7 views
0

Я работаю над проектом Laravel 5.2, и у меня есть пользователи, флаги и страны. Что им пытаются добиться того, чтобы каждый пользователь может нажать на меню флага, и он должен представить список флагов для страны находится пользователь.Laravel 5.2- Ограничить пользователя acess

так Пользователь COUNTRY_ID

флаги COUNTRY_ID.

В настоящее время я могу показать флаги для каждого пользователя и соответствующей страны.

Вот маршрут.

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

вид

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

и мой контроллер

public function showFlags($id) 
{ 

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

    $flags = $country->flags; 


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

} 

Проблема заключается в том, если я изменить округ идентификатор по ссылке на что-нибудь еще, он будет показывать флаги другого страна, как я могу ограничиться тем, что она может быть доступна только в том случае, если страна-пользователь соответствует идентификатору страны URL-адреса? Я кое-что прочитал о промежуточном программном обеспечении, но, честно говоря, я не уверен, как его использовать.

ответ

1

Я не думаю, что требуется, чтобы промежуточное программное здесь, просто сделать это

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

Можете ли вы объяснить, что промежуточного слоя хорошо тогда? и спасибо за ответ, увидев решение. Я как бы выгляжу глупо. – marybane

+0

Нах, не чувствую себя плохо, я уверен, что каждый иногда бывает в таких вещах, но, честно говоря, я не совсем понимаю ваш вопрос, ты хотите знать, где использовать посредников? – Hrach

+0

Точно, для чего я могу использовать промежуточное ПО? – marybane