我正在使用 Slim PHP 并希望将用户重定向到/login如果他们未登录但尝试访问需要用户登录的页面。在搜索如何构建我的中间件时,我发现此代码的所有变体在那个地方
class Auth{
public function requireLogin(Request $request, Response $response, $next){
if( !isLoggedIn() ) return $response->withRedirect('/login', 403);
return $next($request, $response);
}
}
例如在这个 SO 答案和这个 Slim discourse answer中。
问题是我无法将重定向和 HTTP 403 结合使用。据我所知,正常的 HTTP 重定向仅限于HTTP 代码 3xx。实际上,上面的代码在与 example 一起使用时可以正常工作302。
我是否遗漏了某些东西,或者所有答案都结合起来withRedirect并且403“不正确”(因为不会导致用户浏览器的实际重定向)?
浮云间