第十七讲:auth middleware的使用及原理介绍
现在是随便一个用户都可以到根目录去创建项目,我们需要登录用户才可以创建项目;并且只能创建和看到自己的项目,
这节先操作 只有登录用户才可以创建项目;即登录验证的逻辑;Laravel给我们自带了一个路由,即make auth的时候生成的home的路由;
访问http://taskmanager.local/home 会跳转到 http://taskmanager.local/login 给我们弹出一个登录的表单

我们现在还登陆 不了,因为我们还没注册,这个逻辑刚好就是我们需要的:我们访问首页的时候要先检查下我们是否是一个登录的状态,如果没有登录就弹出登录的页面;
我们在web.php中可以看到访问根目录时候是直接返回 首页,而访问home时候是返回登录页面(如果还没有登录);我们到HomeController中index去看有没有什么不一样的;
web.php

HomeController

这个__controller构造函数是HomeController实例化的时候首先要执行的;执行完这个构造函数里的内容才会往下继续执行;$this->middleware();是一个中间件.一个http请求的过滤机制;其中传递个auth参数用来验证是否登录的机制;所以在访问home路径的时候会进行登录验证,在web.php中我们写法为一个匿名函数;我们完全可以将匿名函数提取出来用在HomeController中共用构造函数中的验证登录的中间件;

控制器中写为:

如此,登录验证即完成了,如果以后有其它页面也需要登录 ,则加入$this->middleware('auth');中间件的验证登录即可

浙公网安备 33010602011771号