From ec990e967c289636b16c0e4ce737bf718ae0217b Mon Sep 17 00:00:00 2001 From: zhaoxiang <756958008@qq.com> Date: Wed, 28 Feb 2018 21:58:16 +0800 Subject: [PATCH] =?UTF-8?q?added=20=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=9A=84=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/behavior/AdminLog.php | 52 ++++++++++++++++++++ application/admin/behavior/ApiAuth.php | 8 ++- application/admin/behavior/ApiPermission.php | 4 +- application/adminRoute.php | 8 ++- 4 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 application/admin/behavior/AdminLog.php diff --git a/application/admin/behavior/AdminLog.php b/application/admin/behavior/AdminLog.php new file mode 100644 index 0000000..f9c5e27 --- /dev/null +++ b/application/admin/behavior/AdminLog.php @@ -0,0 +1,52 @@ + + */ + +namespace app\admin\behavior; + + +use app\model\ApiMenu; +use app\model\ApiUserAction; +use app\util\ReturnCode; +use think\Request; + +class AdminLog { + + /** + * 后台操作日志记录 + * @author zhaoxiang + * @return \think\response\Json + * @throws \think\Exception + * @throws \think\exception\DbException + */ + public function run() { + $header = config('apiAdmin.CROSS_DOMAIN'); + $request = Request::instance(); + $route = $request->routeInfo(); + $userToken = $request->header('ApiAuth', ''); + $userInfo = cache($userToken); + $userInfo = json_decode($userInfo, true); + $menuInfo = ApiMenu::get(['url' => $route['route']]); + + if ($menuInfo) { + $menuInfo = $menuInfo->toArray(); + } else { + $data = ['code' => ReturnCode::INVALID, 'msg' => '当前路由非法:'. $route['route'], 'data' => []]; + + return json($data, 200, $header); + } + + ApiUserAction::create([ + 'actionName' => $menuInfo['name'], + 'uid' => $userInfo['id'], + 'nickname' => $userInfo['nickname'], + 'addTime' => time(), + 'url' => $route['route'], + 'data' => json_encode($request->param()) + ]); + } + +} diff --git a/application/admin/behavior/ApiAuth.php b/application/admin/behavior/ApiAuth.php index 2e583b1..db8ee55 100644 --- a/application/admin/behavior/ApiAuth.php +++ b/application/admin/behavior/ApiAuth.php @@ -13,8 +13,6 @@ use think\Request; class ApiAuth { - private $exclude = []; - /** * 默认行为函数 * @return \think\response\Json @@ -23,9 +21,9 @@ class ApiAuth { public function run() { $request = Request::instance(); $header = config('apiAdmin.CROSS_DOMAIN'); - $userToken = $request->header('ApiAuth', ''); - if ($userToken) { - $userInfo = cache($userToken); + $ApiAuth = $request->header('ApiAuth', ''); + if ($ApiAuth) { + $userInfo = cache($ApiAuth); $userInfo = json_decode($userInfo, true); if (!$userInfo || !isset($userInfo['id'])) { $data = ['code' => ReturnCode::AUTH_ERROR, 'msg' => 'ApiAuth不匹配', 'data' => []]; diff --git a/application/admin/behavior/ApiPermission.php b/application/admin/behavior/ApiPermission.php index 4a59613..547ca24 100644 --- a/application/admin/behavior/ApiPermission.php +++ b/application/admin/behavior/ApiPermission.php @@ -29,8 +29,8 @@ class ApiPermission { $request = Request::instance(); $route = $request->routeInfo(); $header = config('apiAdmin.CROSS_DOMAIN'); - $userToken = $request->header('ApiAuth', ''); - $userInfo = cache($userToken); + $ApiAuth = $request->header('ApiAuth', ''); + $userInfo = cache($ApiAuth); $userInfo = json_decode($userInfo, true); if (!$this->checkAuth($userInfo['id'], $route['route'])) { $data = ['code' => ReturnCode::INVALID, 'msg' => '非常抱歉,您没有权限怎么做!', 'data' => []]; diff --git a/application/adminRoute.php b/application/adminRoute.php index 2090467..10947cc 100644 --- a/application/adminRoute.php +++ b/application/adminRoute.php @@ -1,11 +1,15 @@ [ 'Login/index' => [ 'admin/Login/index', - ['method' => 'post'] + ['method' => 'post', 'after_behavior' => '\app\admin\behavior\AdminLog'] ], 'Login/logout' => [ 'admin/Login/logout',