我尝试通过电子邮件网址验证用户身份。在我的Auth
模型中:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
if(isset($_GET['newuser'])) {
$data = [
'email' => $_GET['newuser'],
'token' => $_GET['token']
];
return redirect()->action('UserActivateController@newUser', $data);
}
return redirect()->guest('login');
}
}
return $next($request);
}
然后转发到公众视野:
public function newUser()
{
if (Auth::attempt(['email' => $_GET['email'], 'password' => $_GET['token']])) {
Session::save();
return redirect('/');
}
}
Auth::attempt
函数通过,但当我尝试重定向用户时,会话丢失并将它们转发回登录视图。
编辑:应该注意的是,我使用内置的身份验证,并且在此修改之外一切正常。