33 lines
898 B
PHP
33 lines
898 B
PHP
<?php
|
|
|
|
namespace app\middleware;
|
|
|
|
use app\exception\MyBusinessException;
|
|
use support\exception\BusinessException;
|
|
use support\Redis;
|
|
use Webman\Http\Response;
|
|
use Webman\Http\Request;
|
|
use Webman\MiddlewareInterface;
|
|
|
|
class JwtAuthMiddleware implements MiddlewareInterface
|
|
{
|
|
public function process(Request $request, callable $handler) : Response
|
|
{
|
|
$uid = Redis::get('token:client:token:' . $request->header('token'));
|
|
if($uid) {
|
|
// 用户
|
|
$user_type = 1;
|
|
}else{
|
|
$uid = Redis::get('token:admin:token:' . $request->header('token'));
|
|
if(!$uid) {
|
|
throw new MyBusinessException('请登录', 3000);
|
|
}
|
|
// 商家
|
|
$user_type = 2;
|
|
}
|
|
$request->setPost('uid', $uid);
|
|
$request->setPost('user_type', $user_type);
|
|
return $handler($request);
|
|
}
|
|
}
|