Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel注册时的预期重定向问题_Laravel_Laravel 5.3 - Fatal编程技术网

laravel注册时的预期重定向问题

laravel注册时的预期重定向问题,laravel,laravel-5.3,Laravel,Laravel 5.3,我想使用laravel的预期功能。 我所做的是,当用户登录时,它将转到预期的url,如果用户未注册,则它将转到register else登录页面 我不明白我哪里做错了什么 下面是我的登录控制器: public function showLoginForm() { if(!session()->has('from')){ session()->put('from', url()->previous()); } return view('au

我想使用laravel的预期功能。 我所做的是,当用户登录时,它将转到预期的url,如果用户未注册,则它将转到register else登录页面

我不明白我哪里做错了什么

下面是我的登录控制器

public function showLoginForm()
{
    if(!session()->has('from')){
        session()->put('from', url()->previous());
    }
    return view('auth.login');
}

public function authenticated($request,$user)
{
    return redirect(session()->pull('from',$this->redirectTo));
} 

与其在会话中存储上一个url,不如使用它

return redirect()->guest('/your-login-route');
//this stores your intended route and redirects if not authenticated
如果您使用的是laravel的AUTH,则此功能是现成的。 对于自定义身份验证,在中间件的handle方法中使用它,如下所示

public function handle($request, Closure $next, $guard = 'custom-guard')
{
    if(! Auth::guard($guard)->check()){
        return redirect()->guest('/your-login-route');
    }
    return $next($request);
}

请参见创建中间件,而不是在会话中存储以前的url,请使用此选项

return redirect()->guest('/your-login-route');
//this stores your intended route and redirects if not authenticated
如果您使用的是laravel的AUTH,则此功能是现成的。 对于自定义身份验证,在中间件的handle方法中使用它,如下所示

public function handle($request, Closure $next, $guard = 'custom-guard')
{
    if(! Auth::guard($guard)->check()){
        return redirect()->guest('/your-login-route');
    }
    return $next($request);
}
请参见创建中间件