laravel 使用中间件 验证,未登录不能通过 输入url访问后台

在做后台系统的时候,有一个问题,不用登陆也可以使用定义好的路由来访问后台,这次学习使用 laravel 中间件和验证来 过略。

第一步,使用命令行artisan来创建中间件,php artisan make:middleware AdminLogin  ,生成的文件在App下的Http下的Middleware文件夹中。

生成后,到App下的Http下的 Kernel.php 中,找到路由中间件 $routeMiddleware 中添加上,'admin.login'=>\App\Http\Middleware\AdminLogin::class,

注册后,到路由里面对需要登陆才能访问的页面群组进行中间件限制,Route::group([ 'middleware'=>'admin.login' ] , function(){ 一堆路由 });

对路由加上限制后,回到 AdminLogin 中间件中,做限制逻辑,要做的是当我在浏览器输入后台路径的时候,如果我登陆了,既可以跳转到指定页面,如果没有登陆,跳转到登陆页面,所以我们要验证是否登陆,用到Auth认证,在这个中间件中 use Illiuminate\Support\Facades\Auth;

use后在 handle 方法中进行判断验证

  if( !Auth::check() )

  {
    return redirect()->route(' 你的登陆页面路由 ');

  }

  return $next($request);

简单解释下:Auth::check() 是用来验证是否登陆,在这里用它来判断,如果没登陆,进行跳转,登陆了接受http请求。

猜你喜欢

转载自www.cnblogs.com/muwu/p/8982795.html