如何从Slim 4中间件进行重定向?

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

我一直在测试新的Slim 4框架,并且重定向对于我在普通类中正常工作,但是我似乎无法使它们在中间件中正常工作,在中间件中,请求处理程序会动态生成(显然吗?)响应。当我尝试使用Location标头重定向时,它根本无法重定向,并且我的路线继续到原始位置。

这是我的身份验证中间件的基本版本,用于测试:

use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;

class AuthMiddleware extends Middleware {

    public function __invoke(Request $request, RequestHandler $handler): Response {
        $response = $handler->handle($request);
        $loggedInTest = false;
        if ($loggedInTest) {
            echo "User authorized.";
            return $response;
        } else {
            echo "User NOT authorized.";
            return $response->withHeader('Location', '/users/login')->withStatus(302);
        }
    }
}

有人有这个工作吗?如果是这样,您是如何做到的?预先感谢。

php response.redirect psr-7 slim-4
1个回答
0
投票

[好,我是个白痴。

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