Я использую 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-ответе и в этом тонком дискурсивном ответе .
Проблема в том, что я не могу заставить работать комбинацию перенаправления и HTTP 403. Из того, что я могу сказать, нормальные перенаправления HTTP ограничены HTTP-кодами 3xx . Действительно, приведенный выше код прекрасно работает, например, с 302
.
Я что-то упустил или все ответы, которые объединяют withRedirect
и 403
, "неверны" (например, не вызывают актуальное перенаправление браузера пользователя)?