使用中间件,造成验证码可以显示到前端页面但是 无论输入什么都是错误的验证码
来源:6-13 利用后置中间件处理登录流-拦截器
 
			慕九州2325446
2020-12-17
使用中间件,造成验证码可以显示到前端页面但是 无论输入什么都是错误的验证码, 经测试开启了session也能读取到session但是验证码一直走到验证码错误那个逻辑,搞不懂是为什么,难道是加了中间件读取不了或者验证码不返回一个session吗
把中间件代码注释掉  就可以正常读取到验证码  可以验证成功  但是一加上中间件就不行了
public function handle($request, \Closure $next) {
    //前置中间件
    $response = $next($request);
  if (empty(session(config("admin.session_admin"))) && $request->controller() !="Login" && $request->controller() != 'Verify' ){
       return redirect(url("login/index"));
  }
////        if(empty(session(config(“admin.session_admin”))) && !in_array($request->controller(),[“Login”, “Verify”])){
////            return redirect(“login/index”, 302);
////        }
return next(next(next(request);
//后置中间件
}
if (!captcha_check($captcha)){
        //验证码校验失败
        return show(config("status.error"),"验证码不正确".$captcha);
    }
1回答
- 
				  慕九州2325446 提问者 2020-12-17 找到问题了,返回值的问题 //前置中间件 
 $response = $next($request);
 if (empty(session(config("admin.session_admin"))) && $request->controller() !="Login" && $request->controller() != 'Verify' ){
 return redirect(url("login/index"));
 }
 //// if(empty(session(config("admin.session_admin"))) && !in_array($request->controller(),["Login", "Verify"])){
 //// return redirect("login/index", 302);
 //// }
 return $next($request);
 //后置中间件
 }这是之前的代码 return $response; 把return改了 就好了 10
相似问题