使用HTTP 403重定向

问题描述 投票:0回答:1

我使用的是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 answerthis Slim discourse answer中。

问题是我无法使重定向和HTTP 403结合使用。据我所知,普通的HTTP重定向仅限于HTTP codes 3xx。的确,上面的代码与302结合使用时,效果很好。

我是否缺少某些内容,还是所有将withRedirect403组合在一起的答案都是“不正确的”(如未导致用户浏览器的实际重定向)?

我正在使用Slim PHP,如果用户未登录,但想将用户重定向到/ login,但尝试访问需要用户登录的页面。在搜索如何构建中间件时,我.. 。

php slim http-status-code-403 http-redirect slim-3
1个回答
0
投票

如果您的应用程序是使用Web浏览器访问的HTML网站,则只有状态码为3xx时,浏览器才会重定向。

© www.soinside.com 2019 - 2024. All rights reserved.