我使用的是Slim PHP,如果用户未登录,但希望将用户重定向到/login
,但是尝试访问需要用户登录的页面。在搜索如何构建中间件时,我发现整个地方都有此代码的变体
class Auth{
public function requireLogin(Request $request, Response $response, $next){
if( !isLoggedIn() ) return $response->withRedirect('/login', 403);
return $next($request, $response);
}
}
例如在this SO answer和this Slim discourse answer中。
问题是我无法使重定向和HTTP 403结合使用。据我所知,普通的HTTP重定向仅限于HTTP codes 3xx。的确,上面的代码与302
结合使用时,效果很好。
我是否缺少某些内容,还是所有将withRedirect
和403
组合在一起的答案都是“不正确的”(如未导致用户浏览器的实际重定向)?
我正在使用Slim PHP,如果用户未登录,但想将用户重定向到/ login,但尝试访问需要用户登录的页面。在搜索如何构建中间件时,我.. 。
如果您的应用程序是使用Web浏览器访问的HTML网站,则只有状态码为3xx
时,浏览器才会重定向。