怎么新建MySQL数据库

发布时间:2021-05-28 作者:admin
阅读:1698

      关于laravel框架中间件,就是控制路由的访问,进行分类并统一管理。小编认为是比较实用的,下面就给大家分享laravel如何利用中间件实现防非法登录和权限控制,感兴趣的朋友可以看看。

      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框架中间件使用技巧,可以关注其他相关文章。

文本转载自脚本之家

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 308400777

信息安全 0668-2555 118

域名空间 3004329145