• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    laravel利用中间件做防非法登录和权限控制示例

    laravel框架的中间件非常好用,使得我们的防非法和rbac可以简单快速的实现

    中间件就是控制路由的访问,进行分类并统一管理

    1、首先我们打开artisan输入下面的命令行,创建一个中间件文件

    php artisan make:middleware AdminLogin

    执行命令后我们会发现Middleware文件夹会多出一个AdminLogin文件

    2、然后我们打开kernel.php,将这个中间件加入到路由中间件中

     protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'admin.login' => \App\Http\Middleware\AdminLogin::class,
      ];

    可以看到我们在这个数组用一个下标为admin.login指向了这个中间节类

    3、然后在路由上将这个中间件加入关联上

    Route::group(['middleware' => ['web','admin.login.login']], function () {
     
      Route::get('/admin/login/login','Admin\LoginController@login');
      //登录页面
      Route::get('/admin/index/index','Admin\IndexController@index'); 
     
      //后台首页路由
     
     
    });

    这里一定要将登录的路由和后台路由放到一个关联中间件中,只有放到同一个中间件中,session才能共用

    4、最后我们在Middleware下的AdminLogin.php中修改一下原本的代码

    在这里我们做一个简单的小判断,判断一下有没有session存在,如果有的话就直接走我们现在访问的路由,如果没有session就给他重定向到登录页面

    一个简单的防非法登录就可以用了

    这种方法我们也可以拿来做rbac,也是建立一个中间件,进行session判断,查库中该管理员是否对有该权限访问该路由

    此时您可能会用到

    $route = $request->path();

    他的作用就是获取到你当前访问的路由再进行判断可不可以访问

    以上这篇laravel利用中间件做防非法登录和权限控制示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • laravel在中间件内生成参数并且传递到控制器中的2种姿势
    • 浅谈Laravel中的三种中间件的作用
    • Laravel获取当前请求的控制器和方法以及中间件的例子
    • Laravel框架控制器的middleware中间件用法分析
    • laravel利用中间件防止未登录用户直接访问后台的方法
    • Laravel 6 将新增为指定队列任务设置中间件的功能
    • laravel框架中间件 except 和 only 的用法示例
    • Laravel5.1框架注册中间件的三种场景详解
    • 浅谈laravel中间件的创建思路
    上一篇:laravel 实现关闭CSRF(全部关闭、部分关闭)
    下一篇:基于Laravel 多个中间件的执行顺序详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    laravel利用中间件做防非法登录和权限控制示例 laravel,利用,中间件,做防,