菜鸟学习laravel框架之验证用户登录及302问题

在写项目的时候,都需要验证用户是否登录,特别是写后台,只有登录后才能进入页面。在初学laravel写后台时,遇到这个问题,并且折腾了很久,后来才发现自己踩了一个坑。

我是自己写了一个控制器来验证用户是否登录,代码如下:

class CommonController extends Controller
{
	
    public function __construct(){
        $this->request = request();
        // 验证是否登录
        $this->middleware(function ($request, $next) {
            if (!admin_is_login()) {//获取用户session信息
                session()->flash('with_info',with_err('您未登录,请先登录')['with_info']);
                session()->save();
            //    return redirect("admin/user/login");
                return redirect()->action('Admin\UserController@login');
               // return redirect()->route("login");exit();
            }
            return $next($request);
        });
    }
}

代码并没啥问题,但是当访问的时候,一直都是报如下错误:


找了很多关于重定向问题的解决方法,也没解决,后来就发现是形成了死循环,然后找了一下才发现,含有登录方法的控制器不应该继承公共控制器,否则就形成了死循环,就会一直重定向错误,将其改为继承基本控制器即可


猜你喜欢

转载自blog.csdn.net/robin_sky/article/details/80801831