咨询一个webman中间件redirect('/user/login')跳转后网页无法访问的问题

你好啊

按照手册上的中间件代码
<?php
namespace support\middleware;

use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;

class AuthCheckTest implements MiddlewareInterface
{
public function process(Request $request, callable $next) : Response
{
$session = $request->session();
if (!$session->get('userinfo')) {
return redirect('/user/login');
}
return $next($request);
}
}

当跳转到user/login操作的时候,会出现网页无法访问的问题;
正常访问user/login则没有问题,请问一下这个是什么情况呢?

3881 3 0
3个回答

walkor 打赏

什么叫无法访问?无法访问具体提示什么?

  • 暂无评论
你好啊


具体表现如上图所示,
网页提示信息:

该网页无法正常运作127.0.0.1 将您重定向的次数过多。
尝试清除 Cookie.
ERR_TOO_MANY_REDIRECTS

config\middleware.php
中的代码如下:
<?php
/**

return [
'' => [
support\middleware\AuthCheckTest::class,
//support\middleware\AccessControlTest::class,
]
];

如果将support\middleware\AuthCheckTest::class,注释掉的话,访问user/login则能正常显示内容

烦请大大帮忙分析一下看是原因造成的

  • 暂无评论
你好啊

多谢大大指点,问题找到了。

原因是跳转以后在新的方法里,$session->get('userinfo')依然为空,则在跳转到user/login下以后再次跳转,导致出现上述错误。

  • 暂无评论
年代过于久远,无法发表回答
🔝