重定向auth控制器?

时间:2015-08-03 10:41:00

标签: laravel laravel-5 laravel-5.1

我在Laravel中使用Auth控制器以及auth中间件。

如果用户未登录,则会重定向到:

auth/login

但我希望重定向到另一个网址。

我在我的身份验证控制器中有这个:

protected $loginPath = '/cms/login';
protected $redirectTo = '/cms';

但它仍然重定向到:

auth/login

如何重定向auth控制器?

2 个答案:

答案 0 :(得分:2)

您未登录时重定向的路径是在app/Http/Middleware/Authenticate.php找到的身份验证中间件中处理的。

答案 1 :(得分:1)

重定向将由中间件处理。因此,在auth中间件中更改handle()方法下的重定向,如下所示:

    /**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if ($this->auth->guest())
    {
        if ($request->ajax())
        {
            //return response('Unauthorized.', 401);

        }
        else
        {
            //return redirect()->guest('auth/login');
              return redirect()->guest('cms/login');
        }
    }

    return $next($request);
}