zoukankan      html  css  js  c++  java
  • laravel 使用中间件 验证,未登录不能通过 输入url访问后台

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

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

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

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

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

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

      if( !Auth::check() )

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

      }

      return $next($request);

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

  • 相关阅读:
    如何打日志才能方便排查问题?
    为什么 HashMap 并发时会引起死循环?
    Spring 为什么会有 FactoryBean?
    常用 Git 使用技巧,收藏了~
    Gin中context的使用
    Gin的路由算法
    k8s中的网络通信总结
    k8s架构
    Golang中的值拷贝与引用拷贝
    golang知识要点总结
  • 原文地址:https://www.cnblogs.com/muwu/p/8982795.html
Copyright © 2011-2022 走看看