假设我有一个页面A,使用了auth中间件。因为没有登录,所以它会被重定向到登录页面。
在登录页面上,我有一个自定义的ajax登录系统。登录成功后,我想重定向到具有相同url的页面A,以便可以完成操作。
我的登录代码如下:
我正在尝试通过url()->previous()获取上一个URL,但它返回登录页面的URL。请有人指导我如何解决这个问题。任何改进/帮助都将不胜感激。
我正在使用Laravel 5.4
在登录页面上,我有一个自定义的ajax登录系统。登录成功后,我想重定向到具有相同url的页面A,以便可以完成操作。
我的登录代码如下:
public function postLogin(Request $request)
{
$auth = false;
$errors = [];
$inputs = $request->all();
$validator = $this->validator($inputs);
if ($validator->fails()) {
return response()->json([
'auth' => false,
'intended' => URL::previous(),
'errors' => $validator->errors()
]);
}
$user = User::where('email', $request->get('email'))->first();
if ($user && $user->is_active == 0) {
$errors[] = "This account has been deactivated";
} else if ($user && $user->confirm_token != null) {
$errors[] = "Please verify your email in order to login";
} else {
$credentials = ['email' => $request->get('email'), 'password' => $request->get('password'), 'is_active' => 1];
if (Auth::attempt($credentials, $request->has('remember'))) {
$auth = true;
} else {
$errors[] = "Email/Password combination not correct";
}
}
if ($request->ajax()) {
return response()->json([
'auth' => $auth,
'intended' => URL::previous(),
'errors' => $errors
]);
}
return redirect()->intended(URL::route('dashboard'));
}
我正在尝试通过url()->previous()获取上一个URL,但它返回登录页面的URL。请有人指导我如何解决这个问题。任何改进/帮助都将不胜感激。
我正在使用Laravel 5.4