中间件java php,thinkphp6 中间件使用

定义中间件

定义路由

定义中间件别名

// +----------------------------------------------------------------------

declare (strict_types=1);

namespace app\middleware;

use think\facade\Cache;

class CheckLogin

{

/**

* 处理请求

*

* @param \think\Request $request

* @param \Closure $next

* @return Response

*/

public function handle($request, \Closure $next)

{

$accessToken = $request->header('X-TOKEN');

// 没有token信息,则跳转到登录界面

if (!$accessToken) {

return errorBSDResponse([], '非法请求', 100);

}

$redis_token = Cache::store('redis')->get($accessToken);

if (!$redis_token) {

return errorBSDResponse([], '登录失败', 100);

}

return $next($request);

}

}

// +----------------------------------------------------------------------

use think\facade\Route;

Route::get('think', function () {

return 'hello,ThinkPHP6!';

});

Route::get('hello/:name', 'index/hello');

Route::resource('role', 'role')->middleware(CheckLogin::class);

Route::resource('privilege', 'privilege')->middleware(\app\middleware\CheckLogin::class);

Route::resource('company', 'company')->middleware(\app\middleware\CheckLogin::class);

Route::resource('companyCode', 'companyCode')->middleware(\app\middleware\CheckLogin::class);

Route::resource('station', 'station')->middleware(\app\middleware\CheckLogin::class);

Route::resource('device', 'device')->middleware(\app\middleware\CheckLogin::class);

Route::resource('driver', 'driver')->middleware(\app\middleware\CheckLogin::class);

Route::resource('activity', 'activity')->middleware(\app\middleware\CheckLogin::class);

Route::resource('order', 'order')->middleware('checkLogin');

// +----------------------------------------------------------------------

// 中间件配置

return [

// 别名或分组

'alias' => [

'checkLogin' => app\middleware\CheckLogin::class,

],

// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行

'priority' => [],

];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值