From cad2716183f9d7bd73463e28701e4e9ddf6b0d40 Mon Sep 17 00:00:00 2001 From: zhaoxiang <756958008@qq.com> Date: Sun, 19 May 2019 23:46:01 +0800 Subject: [PATCH] =?UTF-8?q?modified=20=E5=AE=8C=E6=88=90=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E7=9A=84=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/http/middleware/AdminLog.php | 44 +++++++++++++++++-- .../http/middleware/AdminPermission.php | 10 +---- route/route.php | 2 +- 3 files changed, 42 insertions(+), 14 deletions(-) diff --git a/application/http/middleware/AdminLog.php b/application/http/middleware/AdminLog.php index e4619b3..2f68562 100644 --- a/application/http/middleware/AdminLog.php +++ b/application/http/middleware/AdminLog.php @@ -2,9 +2,45 @@ namespace app\http\middleware; -class AdminLog -{ - public function handle($request, \Closure $next) - { +use app\model\AdminMenu; +use app\model\AdminUserAction; +use app\util\ReturnCode; + +class AdminLog { + + /** + * @param \think\facade\Request $request + * @param \Closure $next + * @return \think\response\Json + * @author zhaoxiang + */ + public function handle($request, \Closure $next) { + $ApiAuth = $request->header('ApiAuth'); + $userInfo = cache('Login:' . $ApiAuth); + $userInfo = json_decode($userInfo, true); + $menuInfo = AdminMenu::get(['url' => $request->path()]); + + if ($menuInfo) { + $menuInfo = $menuInfo->toArray(); + } else { + + return json([ + 'code' => ReturnCode::INVALID, + 'msg' => '当前路由非法:' . $request->path(), + 'data' => [] + ])->header(config('apiadmin.CROSS_DOMAIN')); + } + + AdminUserAction::create([ + 'action_name' => $menuInfo['name'], + 'uid' => $userInfo['id'], + 'nickname' => $userInfo['nickname'], + 'add_time' => time(), + 'url' => $request->path(), + 'data' => json_encode($request->param()) + ]); + + return $next($request); } + } diff --git a/application/http/middleware/AdminPermission.php b/application/http/middleware/AdminPermission.php index 4d4a2e9..7929bd6 100644 --- a/application/http/middleware/AdminPermission.php +++ b/application/http/middleware/AdminPermission.php @@ -23,16 +23,8 @@ class AdminPermission { public function handle($request, \Closure $next) { $ApiAuth = $request->header('ApiAuth'); $userInfo = cache('Login:' . $ApiAuth); - - if (!$userInfo) { - return json([ - 'code' => ReturnCode::INVALID, - 'msg' => '非常抱歉,您的登录状态已丢失或已过期!', - 'data' => [] - ])->header(config('apiadmin.CROSS_DOMAIN')); - } - $userInfo = json_decode($userInfo, true); + if (!$this->checkAuth($userInfo['id'], $request->path())) { return json([ 'code' => ReturnCode::INVALID, diff --git a/route/route.php b/route/route.php index 3c2c251..54d4655 100644 --- a/route/route.php +++ b/route/route.php @@ -39,7 +39,7 @@ Route::group('admin', function () { 'admin/Menu/del', ['method' => 'get'] ] - ])->middleware('AdminPermission');; + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('User', [ 'index' => [ 'admin/User/index',