【问题标题】:Laravel 5.2 redirect if the user entered wrong Email or password如果用户输入错误的电子邮件或密码,Laravel 5.2 重定向
【发布时间】:2017-01-07 20:40:09
【问题描述】:

我正在使用 Laravel 5.2 并且我正在使用默认登录控制器。 如果用户成功登录,我知道如何重定向用户,但如果他没有正确输入电子邮件或密码,我不知道如何重定向他。

这是控制器代码

class AuthController extends Controller
{


    use AuthenticatesAndRegistersUsers, ThrottlesLogins;


    protected $redirectTo = '/';


    public function __construct()
    {
        $this->middleware($this->guestMiddleware(), ['except' => 'getLogout']);
    }


    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6|confirmed',
        ]);
    }


    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
}

我应该在哪里输入重定向代码?

【问题讨论】:

    标签: php laravel laravel-5.2


    【解决方案1】:

    您可以覆盖AuthController.php 中的sendFailedLoginResponse() 方法,例如:

    protected function sendFailedLoginResponse(Request $request)
    {
        return redirect()->route('myCustomRoute')
            ->withInput($request->only($this->loginUsername(), 'remember'))
            ->withErrors([
                $this->loginUsername() => $this->getFailedLoginMessage(),
            ]);
    }
    

    【讨论】:

    • 我可以只使用redirect()方法并且只重定向而不使用withInput或Errors吗?
    • 当然,你可以避开withInput和withErrors。
    【解决方案2】:

    @Alexey 为 Laravel 5.8 修改的答案,添加到 app\Http\Controllers\Auth\LoginController.php:

    protected function sendFailedLoginResponse(Request $request)
    {
        return redirect()
          ->route('login')
          ->withInput($request->only($this->username(), 'remember'))
          ->withErrors([
              $this->username() => [trans('auth.failed')],
          ]);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-09-25
      • 2016-09-24
      • 2020-11-01
      • 1970-01-01
      • 2019-11-24
      • 2017-01-20
      • 1970-01-01
      • 2017-10-10
      • 2011-04-16
      相关资源
      最近更新 更多