传统式用户过滤

通过继承基类来达到权限的判断
图片10.png
图片11.png

图片12.png·

  1. <?php
  2. namespace app\index\controller;
  3. use think\Controller;
  4. use think\facade\View;
  5. class Base extends Controller
  6. {
  7. // tp框架中构造方法
  8. public function initialize(){
  9. // 相关的权限判断
  10. if (!session('?login')){
  11. //return redirect('login')->with(['mssage'=>'请登录']);
  12. #return $this->error('请登录',url('login'));
  13. }
  14. // 假如有业务,大家后台都是要需要的,就可以在此写了吧
  15. #View::share('name','你好世界'); # 全局变量,为所有的视图公用
  16. #echo '成功后就可以进行不进处处理<hr>';
  17. }
  18. }

定义中间件

https://www.kancloud.cn/manual/thinkphp5_1/564279

  1. php think make:middleware 中间件的名称
  2. 这个指令会 application/http/middleware目录下面生成一个中间件文件。

图片13.png
图片14.png

注册中间件

控制器注册 pathinfo

图片15.png

自定义路由 middleware

图片16.png

  1. // 登录路由 普通路由
  2. #Route::get('login','@index/login/index')->name('login')->middleware('CheckLogin');
  3. # 分组的时候
  4. Route::group(['middleware'=>['CheckLogin:guest']],function (){
  5. Route::get('login','@index/login/index')->name('login');
  6. });

配置文件 middleware.php

此文件可以放在模块下,就是对此模块注册此中间件,在application下面,就是全局中间件,说白了,就是所有的模块讲都有此中间件。
图片17.png

中间件参值

图片18.png

全局中间件配置文件传值
图片19.png
自定义中间件 路由传值
图片22.png
控制层 传值
图片23.png