Как перенаправить разных пользователей для просмотра разных страниц в laravel версии 6.x - PullRequest
0 голосов
/ 03 апреля 2020

Мне нужно перенаправить пользователей на разные URL в соответствии с их регистрационными данными.

Например

  • Если идентификатор пользователя равен 1 в логах он должен быть перенаправлен. "/ home"

  • Если идентификатор пользователя из 2-х авторизуется, он должен быть перенаправлен. "/ contact"

  • И когда они вышли из системы, они должны быть перенаправлены на страницу индекса. "/"

  • И если они пытаются вставить URL "/ contact" при выходе из системы, он должен перенаправить их на URL "login"

Ответы [ 2 ]

2 голосов
/ 03 апреля 2020

Для пользователя LogedIn в вашем контроллере

if(auth()->user()->id ==1){
    return redirect("/home");
}elseif(auth()->user()->id ==2){
    return redirect("/contact");
}else{
    return redirect("/index");
}

И если он пытается вставить URL "/ contact" при выходе из системы, он должен перенаправить его на URL "login"

Route::match(['get', 'post'], '/contact', 'Controller@method')->middleware('auth:user');
0 голосов
/ 03 апреля 2020

Не зная, какую версию Laravel вы используете, все, что я могу предложить, это просмотреть документацию по аутентификации здесь для вашей версии.

Вот базовый c пример от laravel 7.x

app / Http / Controllers / Auth / LoginController. php

/**
 * The user has been authenticated.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function authenticated(Request $request, $user)
{
    // Add your logic here (switch statement)

    return response([
        //
    ]);
}

Также смотрите документацию по защите маршрутов здесь

app / Http / Middleware / Authenticate. php

/**
 * Get the path the user should be redirected to.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return string
 */
protected function redirectTo($request)
{
    // Add your logic here (switch statement)

    return route('login');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...