一、登录中间件
中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。
1.1 创建中间件
创建中间件命令:php artisan make:middleware 中间件名称
1.2 注册中间件
1.2.1 全局中间件
一旦注册全局生效
1.2.2 路由中间件
1、创建路由中间件
在$routeMiddleware
中加上如下代码:
// 后台用户注册中间件
// 别名 类路径
'chadmin' => \App\Http\Middleware\CheckAdminLogin::class,
2、绑定路由中间件
(1) 绑定到指定的路由
(2)绑定到路由分组上面
(3)给控制器绑定
1.3 实现用户未登录拦截
删除控制器绑定拦截代码,这部分只是做演示。
接着在CheckAdminLogin.php
中写入:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAdminLogin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// 用户是否登录检查
if (!auth() ->check()) {
return redirect(route('admin.login')) -> withErrors(['error' => '未登录,请登录']);
}
// 如果没有停止则向后执行
return $next($request);
}
}
接着我们直接在浏览器搜索框中输入http://laravelproject.com/admin/index
会看见跳转回登录页:
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。