Commit 3abab839 authored by 秦俊坤's avatar 秦俊坤

鉴权部分优化

parent 1b85120f
...@@ -23,10 +23,11 @@ class AuthorizeMiddleware implements MiddlewareInterface ...@@ -23,10 +23,11 @@ class AuthorizeMiddleware implements MiddlewareInterface
$route = $request->getUri()->getPath(); $route = $request->getUri()->getPath();
$token = token(); $token = token();
$applicationName = env('APP_NAME'); $applicationName = env('APP_NAME');
$method = $request->getMethod();
if (empty($route)) return $handler->handle($request); if (empty($route)) return $handler->handle($request);
//获取对应的 route 对应的权限,如果 route 是不需要登录鉴权,直接返回 //获取对应的 route 对应的权限,如果 route 是不需要登录鉴权,直接返回
$passed = $this->authRouter($applicationName, $route, $token); $passed = $this->authRouter($applicationName, $route, $method, $token);
if ($passed) { if ($passed) {
return $handler->handle($request); return $handler->handle($request);
} }
...@@ -44,11 +45,11 @@ class AuthorizeMiddleware implements MiddlewareInterface ...@@ -44,11 +45,11 @@ class AuthorizeMiddleware implements MiddlewareInterface
* @param $token * @param $token
* @return bool * @return bool
*/ */
protected function authRouter($applicationName, $route, $token): bool protected function authRouter($applicationName, $route, $method, $token): bool
{ {
$userId = $this->getUserIdByToken($token); $userId = $this->getUserIdByToken($token);
return $this->authorizationService->authByRouter($applicationName, $route, $userId); return $this->authorizationService->authByRouter($applicationName, $route, $method, $userId);
} }
......
...@@ -31,11 +31,12 @@ interface AuthenticationServiceInterface ...@@ -31,11 +31,12 @@ interface AuthenticationServiceInterface
/** /**
* 获取对应路由的接口权限结果 * 获取对应路由的接口权限结果
* @param $router string 路由名字 * @param $path string 路由名字
* @param $applicationName string 应用名字 * @param $applicationName string 应用名字
* @param $method string 请求方法
* @param $userId integer 用户 ID * @param $userId integer 用户 ID
* @return bool * @return bool
*/ */
public function authByRouter($applicationName, $router, $userId): bool; public function authByRouter($applicationName, $path, $method, $userId): bool;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment