読者です 読者をやめる 読者になる 読者になる

print 'Hello World!';

hogehoge備忘録

Laravel#ユーザ認証後のリダイレクトURLの設定変更

環境:Laravel5.0

C:\pleiades\xampp\blog\vendor\laravel\framework\src\Illuminate\Foundation\Auth\
AuthenticatesAndRegistersUsers.phpのpostLogin、redirectPath、getLogoutをC:\pleiades\xampp\blog\app\Http\Controllers\Auth\AuthController.phpにオーバーライドする。

[設定例]

	public function postLogin(Request $request)
	{
		$this->validate($request, [
				'email' => 'required|email', 'password' => 'required',
		]);

		$credentials = $request->only('email', 'password');

		if ($this->auth->attempt($credentials, $request->has('remember')))
		{
			return redirect()->intended($this->redirectPath());
		}

		return redirect($this->loginPath())
		->withInput($request->only('email', 'remember'))
		->withErrors([
				'email' => $this->getFailedLoginMessage(),
		]);
	}

	public function redirectPath()
	{
		if (property_exists($this, 'redirectPath'))
		{
			return $this->redirectPath;
		}

		return property_exists($this, 'redirectTo') ? $this->redirectTo : '/form/userlist'; //認証後のリダイレクト先のURL
	}

	public function getLogout(){

		$this->auth->logout();

		return redirect('/auth/login'); //ログアウト後のリダイレクト先URL

	}