重定向授权控制器?
Redirect auth controller?
我在 Laravel 中使用 Auth 控制器以及 auth 中间件。
如果用户未登录,它将重定向到:
auth/login
但我想重定向到另一个 url。
我的授权控制器中有这个:
protected $loginPath = '/cms/login';
protected $redirectTo = '/cms';
但它仍然重定向到:
auth/login
如何重定向授权控制器?
未登录时的重定向路径在身份验证中间件中处理,位于 app/Http/Middleware/Authenticate.php
。
重定向将由中间件处理。因此,将 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);
}
我在 Laravel 中使用 Auth 控制器以及 auth 中间件。
如果用户未登录,它将重定向到:
auth/login
但我想重定向到另一个 url。
我的授权控制器中有这个:
protected $loginPath = '/cms/login';
protected $redirectTo = '/cms';
但它仍然重定向到:
auth/login
如何重定向授权控制器?
未登录时的重定向路径在身份验证中间件中处理,位于 app/Http/Middleware/Authenticate.php
。
重定向将由中间件处理。因此,将 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);
}