diff --git a/composer.json b/composer.json index 75506ba..142e5a5 100644 --- a/composer.json +++ b/composer.json @@ -35,7 +35,7 @@ "psr/simple-cache": ">=1.0" }, "require-dev": { - "symfony/var-dumper": "^4.2" + "symfony/var-dumper": "*" }, "autoload": { "psr-4": { diff --git a/config/cookie.php b/config/cookie.php index b20f8d7..cccb68c 100644 --- a/config/cookie.php +++ b/config/cookie.php @@ -5,7 +5,7 @@ // +---------------------------------------------------------------------- return [ // cookie 保存时间 - 'expire' => 0, + 'expire' => 86400*30, // cookie 保存路径 'path' => '/', // cookie 有效域名 diff --git a/config/session.php b/config/session.php index 120cb90..dd9792a 100644 --- a/config/session.php +++ b/config/session.php @@ -1,19 +1,20 @@ 'PHPSESSID', + 'name' => 'PHPSESSID', // SESSION_ID的提交变量,解决flash上传跨域 'var_session_id' => '', // 驱动方式 支持file cache - 'type' => 'file', + 'type' => 'file', // 存储连接标识 当type使用cache的时候有效 - 'store' => null, + 'store' => null, // 过期时间 - 'expire' => 86400, + 'expire' => 86400 * 30, // 前缀 - 'prefix' => '', + 'prefix' => '', ]; diff --git a/extend/base/admin/controller/LoginBase.php b/extend/base/admin/controller/LoginBase.php index 077031f..ba054f4 100644 --- a/extend/base/admin/controller/LoginBase.php +++ b/extend/base/admin/controller/LoginBase.php @@ -7,6 +7,7 @@ use app\common\controller\AdminController; use think\captcha\facade\Captcha; use think\facade\Env; use think\facade\Event; +use think\facade\Session; /** * Class Login. @@ -37,6 +38,18 @@ class LoginBase extends AdminController 'controller' => $this, ]); + $back_url = $this->request->param('back_url'); + + if (!empty($back_url)) { + Session::set('back-url', $back_url); + } else { + $back_url = Session::get('back-url'); + } + + if (empty($back_url)) { + $back_url = null; + } + $captcha = Env::get('adminsystem.captcha', 1); if ($this->request->isPost()) { $post = $this->request->post(); @@ -67,7 +80,8 @@ class LoginBase extends AdminController $admin['expire_time'] = $post['keep_login'] == 1 ? true : time() + 7200; session('admin', $admin); - $this->success('登录成功'); + Session::delete('back-url'); + $this->success('登录成功', '', $back_url); } $this->assign('captcha', $captcha); $this->assign('demo', $this->isDemo); diff --git a/extend/base/admin/view/login/index.js b/extend/base/admin/view/login/index.js index b9e1e4a..2e126d6 100644 --- a/extend/base/admin/view/login/index.js +++ b/extend/base/admin/view/login/index.js @@ -30,7 +30,7 @@ $(function () { return data; }, function (res) { ua.msg.success(res.msg, function () { - window.location = ua.url('index'); + window.location = res.url; }); }, function (res) { ua.msg.error(res.msg, function () { diff --git a/extend/base/common/command/admin/VersionBase.php b/extend/base/common/command/admin/VersionBase.php index 9cfe49e..866ff81 100644 --- a/extend/base/common/command/admin/VersionBase.php +++ b/extend/base/common/command/admin/VersionBase.php @@ -12,16 +12,12 @@ use think\console\Output; class VersionBase extends Command { - public const VERSION = 'v2.0.53'; + public const VERSION = 'v2.0.54'; public const LAYUI_VERSION = '2.8.17'; public const COMMENT = [ - '优化首页移动端兼容性', - '修改说明文件和版本信息', - '清理遗留技术代码', - '移除表格转卡片', - '新增手机端浏览模式和基本分页查询', + '增加登录跳转到指定页面', '发布新版本', ]; diff --git a/extend/base/common/controller/AdminControllerBase.php b/extend/base/common/controller/AdminControllerBase.php index 1ae1757..2cbd82e 100644 --- a/extend/base/common/controller/AdminControllerBase.php +++ b/extend/base/common/controller/AdminControllerBase.php @@ -398,17 +398,19 @@ class AdminControllerBase extends BaseController $currentController = parse_name(app()->request->controller()); + $back_url = $this->request->url(); + // 验证登录 if ( !in_array($currentController, $adminConfig['no_login_controller']) && !in_array($currentNode, $adminConfig['no_login_node']) ) { - empty($adminId) && $this->error('请先登录后台', [], __url('admin/login/index')); + empty($adminId) && $this->error('请先登录后台', [], __url('admin/login/index', ['back_url' => $back_url])); // 判断是否登录过期 if ($expireTime !== true && time() > $expireTime) { session('admin', null); - $this->error('登录已过期,请重新登录', [], __url('admin/login/index')); + $this->error('登录已过期,请重新登录', [], __url('admin/login/index', ['back_url' => $back_url])); } }