ContiNew
系统管理

系统配置

网站、密码、邮件、登录四类系统参数的运行时修改与重置,无需重启生效。

本文是 4.x 的归档文档(冻结于 v4.2.0)。该分支只接收勘误修正, 内容基本不再变动;文中的源码路径、配置项与版本号均以 4.2.x 为准,不建议用于新项目。

新项目请查看 5.x 最新文档。已在 4.2.x 上运行的项目,本文仍是可靠依据。

系统配置把运行期需要调整的参数(站点信息、密码策略、邮件服务器、登录开关)放到页面上维护,修改即写库生效,不需要重启服务。功能入口在「系统管理 -> 系统配置」,后端接口前缀为 /system/option,对应 OptionController。参数存储在 sys_option 表,每条记录包含类别、键、值与默认值。

参数类别

参数类别由 OptionCategoryEnum 定义,只有四类。

类别页面分组说明
SITE网站配置系统名称、描述、版权、备案号、图标、LOGO
PASSWORD安全配置密码错误锁定、有效期、历史密码、长度与复杂度
MAIL邮件配置SMTP 服务器、账号、SSL
LOGIN登录配置登录验证码开关

短信配置走 sys_sms_config 表,存储配置走 sys_storage 表,客户端配置走 sys_client 表,均不在 sys_option 中。前端「系统配置」菜单下的短信、存储、客户端三个页签分别对应短信管理、存储管理、客户端配置。

内置参数清单

初始化脚本写入的参数键与默认值如下(sys_option 表)。

网站配置(SITE)

键默认值说明
SITE_TITLEContiNew Admin显示在浏览器标题栏和登录界面的系统名称
SITE_DESCRIPTION持续迭代优化的前后端分离中后台管理系统框架用于 SEO 的网站元描述
SITE_COPYRIGHTCopyright © 2022 - present ContiNew Admin 版权所有页面底部版权声明
SITE_BEIAN空工信部 ICP 备案编号
SITE_FAVICON/favicon.ico浏览器标签页图标
SITE_LOGO/logo.svg登录页与导航栏图标

网站配置经 GET /system/common/dict/option/site 公开读取,前端标题、LOGO、备案号均取自该接口,不需要登录。

安全配置(PASSWORD)

键默认值说明
PASSWORD_ERROR_LOCK_COUNT5连续登录失败达到该次数锁定账号(0 表示禁用锁定)
PASSWORD_ERROR_LOCK_MINUTES5锁定后自动解锁的分钟数
PASSWORD_EXPIRATION_DAYS0密码强制修改周期,0 表示永不过期
PASSWORD_EXPIRATION_WARNING_DAYS0过期前提前提醒天数,0 表示不提醒
PASSWORD_REPETITION_TIMES3禁止使用最近 N 次历史密码
PASSWORD_MIN_LENGTH8密码最小长度
PASSWORD_ALLOW_CONTAIN_USERNAME1是否允许密码包含正序或倒序用户名
PASSWORD_REQUIRE_SYMBOLS0是否要求密码包含特殊字符

邮件配置(MAIL)

键默认值说明
MAIL_PROTOCOLsmtp邮件发送协议
MAIL_HOSTsmtp.126.com邮件服务器地址
MAIL_PORT465服务器端口
MAIL_USERNAMEcharles7c@126.com发件人邮箱账号
MAIL_PASSWORD空邮箱授权码
MAIL_SSL_ENABLED1是否启用 SSL/TLS 加密
MAIL_SSL_PORT465SSL 端口

邮件配置是邮箱验证码登录(EmailLoginHandler)与邮件通知的前提,MAIL_PASSWORD 未配置时发信会失败。

登录配置(LOGIN)

键默认值说明
LOGIN_CAPTCHA_ENABLED1是否启用登录验证码

接口与权限

OptionController 不走 CRUD 套件,只提供三个接口,按页面分组拆分权限码。

功能接口权限码(满足其一即可)
查询参数列表GET /system/optionsystem:siteConfig:get / system:securityConfig:get / system:loginConfig:get / system:mailConfig:get
修改参数PUT /system/option对应分组的 system:*Config:update
重置参数PATCH /system/option/value对应分组的 system:*Config:update

修改接口按提交的键值批量更新;重置接口把指定参数恢复为 default_value。

sys_option 没有逻辑删除字段,参数记录由初始化脚本写入,不要直接删行。新增自定义参数类别需要同步扩展 OptionCategoryEnum 与前端页面,属于代码级改动。

相关源码

目录