第十七讲: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');中间件的验证登录即可

posted @ 2021-12-26 00:12  痞子胥  阅读(414)  评论(0)    收藏  举报