首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除正文PSR-7 Slim3中间件?

删除正文PSR-7 Slim3中间件?
EN

Stack Overflow用户
提问于 2018-11-17 09:07:23
回答 1查看 187关注 0票数 0

我尝试将用户重定向到未通过身份验证的登录页面。我正在使用Slim3中的一个中间件来使用Sentinel进行检查。工作,但我需要覆盖主体,以不显示内容。例如,我可以使用CURL访问像/users这样的路由,这样我就可以获得所有的页面。因此,如果用户未通过身份验证,我需要删除/覆盖正文。

代码语言:javascript
复制
public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next)
{

    $route = parse_url($request->getUri(), PHP_URL_PATH);

    if ($route !== '/login' && ! $user = Sentinel::check() )
    {
        $response = $response
            ->withStatus(301)
            ->withHeader("location", '/login')
        ;
    }
    return $next($request, $response);

}
EN

回答 1

Stack Overflow用户

发布于 2018-11-17 22:04:43

如果您只想重定向用户,则不应调用$next回调:

代码语言:javascript
复制
public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next)
{
    $route = parse_url($request->getUri(), PHP_URL_PATH);

    if ($route !== '/login' && ! $user = Sentinel::check() )
    {
        return $response
            ->withHeader('Location', '/login')
            ->withStatus(302);
    }

    return $next($request, $response);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53347273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档