2016-05-12 3 views
0

У меня есть многоступенчатая форма. Каждый раз, когда пользователь заполняет одну из форм, обновляется столбец currentStep. Если пользователь не завершит все четыре формы до выхода из системы, при их входе в систему они будут перенаправлены на любой шаг, на котором они остановились. Переопределяет ли аутентифицированный метод в моем AuthController лучший способ сделать это?Laravel 5.2 Перенаправление пользователя на основе столбца пользователя

protected function authenticated($request, $user) 
{ 
    if ($user->step === '1') { 
     return redirect()->intended('reg/step2'); 
    } 

    return redirect()->intended('/'); 
} 
+0

No. использование промежуточного ПО вместо – Abhishek

ответ

0

Да, используя метод authenticated или преимущественную redirectPath метод будет достаточно.

Кстати, по моему личному мнению, как было предложено в комментарии выше; создание промежуточного программного обеспечения для реализации простых функциональных требований, таких как:

«Программное обеспечение должно перенаправить пользователей на шаг, который они остановили, только когда они вернутся к программному обеспечению».

- это над инженерной разработкой, которой мы должны избегать. Как вы уже видите, laravel сам использует метод в признаке, чтобы перенаправить пользователя после успешного входа в систему. Не промежуточное ПО.

увидеть последнюю строку (от v.5.1 LTS):

/** 
* Send the response after the user was authenticated. 
* 
* @param \Illuminate\Http\Request $request 
* @param bool $throttles 
* @return \Illuminate\Http\Response 
*/ 
protected function handleUserWasAuthenticated(Request $request, $throttles) 
{ 
    if ($throttles) { 
     $this->clearLoginAttempts($request); 
    } 

    if (method_exists($this, 'authenticated')) { 
     return $this->authenticated($request, Auth::user()); 
    } 

    return redirect()->intended($this->redirectPath()); 
} 
Смежные вопросы