在改造基于thinkphp6.0的thinkcmf程序时,由于其默认是多应用模式,使用了路由,所以在应用下创建中间件,并使用如下方式是无法正常调用的:
<?php return [ app\admin\middleware\Check::class, ];
解决办法为指定路由中间件,打开data/route/doute.php配置应用全局中间件
<?php use think\facade\Route; Route::rule('admin/:controller/:action','admin/:controller/:action')->middleware(\app\admin\middleware\Check::class);