diff --git a/application/admin/controller/Index.php b/application/admin/controller/Index.php index f7e39b69..2b2ed9f8 100644 --- a/application/admin/controller/Index.php +++ b/application/admin/controller/Index.php @@ -2,7 +2,10 @@ namespace app\admin\controller; +use app\admin\model\AdminLog; use app\common\controller\Backend; +use think\Config; +use think\Hook; use think\Validate; /** @@ -64,13 +67,18 @@ class Index extends Backend 'password' => $password, '__token__' => $token, ]; - $validate = new Validate($rule); + if (Config::get('fastadmin.login_captcha')) + { + $rule['captcha'] = 'require|captcha'; + $data['captcha'] = $this->request->post('captcha'); + } + $validate = new Validate($rule, [], ['username' => __('Username'), 'password' => __('Password'), 'captcha' => __('Captcha')]); $result = $validate->check($data); if (!$result) { $this->error($validate->getError(), $url, ['token' => $this->request->token()]); } - \app\admin\model\AdminLog::setTitle(__('Login')); + AdminLog::setTitle(__('Login')); $result = $this->auth->login($username, $password, $keeplogin ? 86400 : 0); if ($result === true) { @@ -87,9 +95,9 @@ class Index extends Backend { $this->redirect($url); } - $background = cdnurl("/assets/img/loginbg.jpg"); + $background = cdnurl(Config::get('fastadmin.login_background')); $this->view->assign('background', $background); - \think\Hook::listen("login_init", $this->request); + Hook::listen("login_init", $this->request); return $this->view->fetch(); } diff --git a/application/admin/lang/zh-cn/index.php b/application/admin/lang/zh-cn/index.php index a0ad15aa..661a9103 100644 --- a/application/admin/lang/zh-cn/index.php +++ b/application/admin/lang/zh-cn/index.php @@ -39,4 +39,5 @@ return [ 'Docs' => '官方文档', 'Forum' => '交流社区', 'QQ qun' => 'QQ交流群', + 'Captcha' => '验证码', ]; diff --git a/application/admin/library/Auth.php b/application/admin/library/Auth.php index 1b147406..3e17cbf7 100644 --- a/application/admin/library/Auth.php +++ b/application/admin/library/Auth.php @@ -5,6 +5,7 @@ namespace app\admin\library; use app\admin\model\Admin; use fast\Random; use fast\Tree; +use think\Config; use think\Cookie; use think\Request; use think\Session; @@ -14,7 +15,6 @@ class Auth extends \fast\Auth protected $requestUri = ''; protected $breadcrumb = []; - protected $loginUnique = false; //是否同一账号同一时间只能在一个地方登录 protected $logined = false; //登录状态 public function __construct() @@ -165,7 +165,7 @@ class Auth extends \fast\Auth return false; } //判断是否同一时间同一账号只能在一个地方登录 - if ($this->loginUnique) + if (Config::get('fastadmin.login_unique')) { $my = Admin::get($admin->id); if (!$my || $my->token != $admin->token) diff --git a/application/admin/view/index/login.html b/application/admin/view/index/login.html index d0f2cc69..0a298cce 100644 --- a/application/admin/view/index/login.html +++ b/application/admin/view/index/login.html @@ -63,7 +63,7 @@