Laravel. Как передать аргумент в функцию redirectTo () в Laravel - PullRequest
0 голосов
/ 07 марта 2020

Я создаю страницу с 2-мя логинами. Таким образом, каждый логин имеет свой собственный блейд-файл. Перенаправление происходит в LoginController. php Я заменяю это protected $redirectTo = '/page1'; на

function redirectTo(){
        if(true){
            return '/page1';
        } else {
            return '/page2';
        }
    }

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

Ответы [ 2 ]

1 голос
/ 07 марта 2020

Создайте скрытое поле ввода в обеих ваших формах как

form1:

<input type="hidden" name="page" value="page1">

form2:

<input type="hidden" name="page" value="page2">

Сейчас в LoginController

 use \Illuminate\Http\Request; // add this line

protected function authenticated(Request $request, $user)
        {


         if (Auth::attempt(['email' => request('email'), 'password' => request('password'), 'verified' => 1])) {
            // Authentication passed...

            if($request->input("page") == "page1") {
               return redirect()->intended('page1');
             } else {
               return redirect()->intended('page2');
             }

        }

        }
0 голосов
/ 07 марта 2020

Создайте функцию с именем authenticated() внутри вашего LoginController.php, затем создайте собственную базу реализации того, что вам нужно сделать.

Пример:

protected function authenticated(Request $request, $user)
{
  if ($user->role == 'Administrator') {
     return redirect('/admin-page');
  } else if($user->role == 'Guest') {
     return redirect('/guest-page');
  }
  abort(401);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...