Laravel 5.2- Ограничить доступ пользователей

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

поэтому у пользователя есть country_id

Флаги имеют идентификатор страны.

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

Вот маршрут.

 Route::get('flags/{Country_id}','FlagController@showFlags');

вид

<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-адресе на что-либо другое, он будет отображать флаги другой страны, как я могу ограничить его доступность, только если страна пользователя соответствует идентификатору страны URL-адреса? Я кое-что читал о промежуточном программном обеспечении, но, честно говоря, я не знаю, как его использовать.


person marybane    schedule 21.03.2016    source источник


Ответы (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'));
}
person Hrach    schedule 21.03.2016
comment
Можете ли вы объяснить, для чего тогда подходит промежуточное ПО? и спасибо за ответ, увидев решение, я чувствую себя глупо - person marybane; 22.03.2016
comment
Нет, не расстраивайтесь, я уверен, что все иногда сталкиваются с такими вещами, но, честно говоря, я не совсем понимаю ваш вопрос, вы хотите знать, где использовать промежуточное программное обеспечение? - person Hrach; 22.03.2016
comment
Точно, для чего я могу использовать промежуточное ПО? - person marybane; 22.03.2016