From 55473c9029fd4c1ca67d7920214c0d0027a7342b Mon Sep 17 00:00:00 2001 From: Karson Date: Thu, 30 Nov 2017 17:02:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A7=E5=88=B6=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E6=97=B6=E9=97=B4=E5=90=8C=E4=B8=80=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E5=8F=AA=E8=83=BD=E5=9C=A8=E4=B8=80=E4=B8=AA=E5=9C=B0?= =?UTF-8?q?=E6=96=B9=E7=99=BB=E5=BD=95=E7=9A=84=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8E=E5=8F=B0=E8=83=8C=E6=99=AF=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E4=B8=8D=E4=BD=9C=E7=94=A8=E7=9A=84BUG=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=90=8E=E5=8F=B0=E5=B8=B8=E8=A7=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?,=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=97=B6=E6=97=A0=E6=B3=95=E4=BF=9D=E5=AD=98=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/controller/Index.php | 2 ++ application/admin/controller/general/Config.php | 4 ++-- application/admin/library/Auth.php | 17 ++++++++++++++++- application/admin/view/index/login.html | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/application/admin/controller/Index.php b/application/admin/controller/Index.php index f3f60e27..5062f02c 100644 --- a/application/admin/controller/Index.php +++ b/application/admin/controller/Index.php @@ -87,6 +87,8 @@ class Index extends Backend { $this->redirect($url); } + $background = cdnurl("/assets/img/loginbg.jpg"); + $this->view->assign('background', $background); \think\Hook::listen("login_init", $this->request); return $this->view->fetch(); } diff --git a/application/admin/controller/general/Config.php b/application/admin/controller/general/Config.php index d0d1a9be..6cf179cc 100644 --- a/application/admin/controller/general/Config.php +++ b/application/admin/controller/general/Config.php @@ -84,7 +84,7 @@ class Config extends Backend { if (in_array($params['type'], ['select', 'selects', 'checkbox', 'radio', 'array'])) { - $params['content'] = ConfigModel::decode($params['content']); + $params['content'] = json_encode(ConfigModel::decode($params['content']), JSON_UNESCAPED_UNICODE); } else { @@ -133,7 +133,7 @@ class Config extends Backend $value = $row[$v['name']]; if (is_array($value) && isset($value['field'])) { - $value = json_encode(\app\common\model\Config::getArrayData($value), JSON_UNESCAPED_UNICODE); + $value = json_encode(ConfigModel::getArrayData($value), JSON_UNESCAPED_UNICODE); } else { diff --git a/application/admin/library/Auth.php b/application/admin/library/Auth.php index a23df732..8c31ecbb 100644 --- a/application/admin/library/Auth.php +++ b/application/admin/library/Auth.php @@ -14,6 +14,7 @@ class Auth extends \fast\Auth protected $requestUri = ''; protected $breadcrumb = []; + protected $loginUnique = false; //是否同一账号同一时间只能在一个地方登录 public function __construct() { @@ -153,7 +154,21 @@ class Auth extends \fast\Auth */ public function isLogin() { - return Session::get('admin') ? true : false; + $admin = Session::get('admin'); + if (!$admin) + { + return false; + } + //判断是否同一时间同一账号只能在一个地方登录 + if ($this->loginUnique) + { + $my = Admin::get($admin->id); + if (!$my || $my->token != $admin->token) + { + return false; + } + } + return true; } /** diff --git a/application/admin/view/index/login.html b/application/admin/view/index/login.html index 08650440..d0f2cc69 100644 --- a/application/admin/view/index/login.html +++ b/application/admin/view/index/login.html @@ -6,7 +6,7 @@