AI 生产化的三个工程边界:可用、可控、可审计
应用不应在业务代码中硬编码多个供应商的鉴权、协议和错误处理。统一接入层可以提供逻辑模型名、协议适配、路由和故障切换。上游变化时,应用只需保持稳定的调用接口。
企业门户的现有账号可以直接登录 Jync:支持「账号密码(OA 接口校验)」「网关头」「票据」三种统一认证方式,同一时刻只生效一种;导航按「配置管理」「日志管理」分组,新增系统日志查询页。界面把「项目」统一改称「同步任务」。升级后外部认证默认关闭,本地账号登录行为与 1.7.8 一致。
配置位置:「配置管理 → 外部认证」(/external-auth)。三种方式共用一张配置卡:启用开关、认证方式、管理员用户名列表(逗号分隔、区分大小写)、门户登录地址、退出后跳转地址。
账号密码:Jync 在服务端把账号密码 POST 到管理员填写的登录接口,支持表单或 JSON 请求、请求/响应字段名(响应字段支持 data.user 点路径)、成功标识(留空时 HTTP 2xx 即成功)、管理员标识与超时(500–30000 ms)。密码只经过内存,不落库、不写日志。
网关头:网关/反向代理完成登录后,把用户标识放在约定的请求头里。Jync 只采信直接 TCP 对端位于回环或 app.security.trusted-proxies 内的请求;可选共享密钥头(加密存储、常量时间比较)。网关必须剥离客户端伪造的身份头。
票据:登录中心签发一次性 ticket 后跳回 /sso/entry?ticket=...,Jync 在服务端调用校验地址(GET 或 POST,票据参数名可配),校验通过才建立会话。票据不写审计、不在页面回显,落地页一律 302。
外部用户只保留会话:不写入 app_user,没有本地密码,因此也没有改密入口——服务端拒绝 /account/password,菜单项同时隐藏。
管理员判定:配置中的用户名列表命中即管理员;账号密码与票据还可用响应字段、网关头可用请求头标记授予管理员,其余外部用户为只读角色。
连通性测试:网关头与票据模式提供测试按钮,返回当前请求会被识别成谁、来源是否可信,以及一次真实票据校验的结果;不创建会话。
登录页分流:/login 按当前认证方式展示本地表单或门户引导页;本地账号表单在 /login/local,本地登录关闭后该地址仍可访问,但只显示已关闭提示。
关闭本地登录与恢复:关闭前必须先启用并完成外部认证配置,否则保存被拒;关闭时二次确认。关闭后 POST /login 也被拒绝。若外部认证随后不可用,以 JYN_RESET_LOGIN=true 启动一次即可重新打开本地登录并保存,修好外部配置后去掉变量重启。
退出跳转:可让退出登录后跳到门户的退出页(同站路径或 http(s) 地址,其他值回退到 /login?logout)。
导航分组:「配置管理」(数据库连接、AI 配置(已启用时)、外部认证(仅管理员))与「日志管理」(变更日志、审计日志(仅管理员)、系统日志);看板、同步任务、系统信息保持顶级。窄屏抽屉里分组退化为可展开的一行标题加缩进子项。
系统日志页(/system-logs,所有登录用户):按文件、级别(DEBUG / INFO / WARN / ERROR / 全部)与关键字(不区分大小写)过滤,黑底面板展示并高亮关键字;滚动归档按 gzip 解压读取。只读日志目录中由滚动策略生成的文件,最多扫描 16 MB(普通文件从尾部、归档从头部),返回最近 1000 条匹配行,并提示是否截断。
界面统一改称「同步任务」:导航、看板、列表、详情与设置中的「项目」文案全部改为「同步任务」;路由、数据表与 API 不变。
版本卡的构建时间改按服务器时区显示,并标注 UTC±HH:MM 偏移:在 UTC+8 的机器上不再出现「11 点构建、却显示 03:20」的错觉;偏移保留后,排查时仍能还原精确时刻。
日志文件固定 UTF-8 编码:JDK 17 在中文 Windows 上默认字符集是 GBK,中文写进日志再读回会乱码;写入与系统日志页读取现在使用同一编码。
OA / 票据 / 网关头返回的用户名统一去掉控制字符并截断 64 字符,避免不可见字符进入会话与导航。
票据入口按客户端 IP 限流:同一地址 20 次校验失败后暂停 15 分钟,匿名调用无法持续触发外呼与审计写入。
空闲同步轮次不再以 INFO 刷吞吐日志:只有目标行数实际变化才记 INFO,未变化的整表比对与少量尾部批次降到 DEBUG;摘要新增 changed= 字段。
认证方式切换后旧入口不再放行:POST /login/oa 只在「账号密码」模式生效,/sso/entry 只在「票据」模式受理,与 /login 的分流判断一致。
升级前写入的配置行 local_login_enabled 为空时按「允许」加载,避免管理员原样保存页面时静默关闭本地登录。
表单内开关不再塌陷成不可点击(.field label 与 .switch 的显示规则冲突);开关打开为绿色、关闭为红色。
外部认证的 HTTP 客户端在进程内复用,不再每次登录或票据校验都新建连接池与选择器线程。
系统日志关键字高亮按原文下标定位:İ 等大小写映射会改变长度的字符此前会让高亮偏移、行尾命中甚至越界;现在在原字符串上逐位比较,不再借用小写副本的下标。
任务详情页「全量加载性能 → 并行度」的帮助文案与能力对齐:不再声称只支持单列整数主键,改为说明整数前导键按区间切分、其余键形态按采样边界切分、无主键表顺序加载(中英文同步修正)。
CDC 项目被 ERROR 帽挡住后,守护线程不再每 10 秒重复打印同一条 WARN:同一段停机只警告一次,后续心跳降到 DEBUG;ERROR 帽被摘除、消费者启动或项目停止后重新武装,下一次故障仍会正常告警。
网关头模式只信任直接 TCP 对端在可信代理列表内(默认仅回环)的请求;共享密钥值加密存储、常量时间比较,密钥无法解密时一律拒绝。
OA / 票据地址只接受 http(s);明文 HTTP 必须显式开启「允许明文 HTTP」;重定向一律不跟随;响应体上限 64 KB;超时可配。
登录失败计数:本地账号与 OA 共用「用户名 + 客户端 IP」键(5 次失败锁 15 分钟);票据入口按 IP 单独限流。
失败审计只记录用户名、来源与错误类别;密码、票据与外部响应内容都不写日志与审计。
系统日志页有两层边界:文件名白名单加真实路径校验(拒绝 ../ 与符号链接逃逸),日志文本逐段转义后才插入高亮标记。
外部用户无法访问改密页面。
默认行为不变:升级后 oa_auth_config 只有一行且未启用,访问 /login 会 302 到 /login/local,本地账号表单照常渲染;旧书签与脚本不受影响。
新增表:oa_auth_config 由 ddl-auto=update 首次启动自动创建;auth_mode 列名避开 Oracle / DM / YashanDB / Oscar 的保留字 MODE。该表随 ./data 一起备份。
旧地址:/oa/settings 保留为 302 → /external-auth(仅 GET;旧表单字段已改名,POST 不兼容)。
新增环境变量:JYN_RESET_LOGIN(应急恢复,平时不生效)、JYN_COOKIE_SAME_SITE(默认 lax;iframe 嵌入需配合 HTTPS 设为 None,并同时设置 JYN_COOKIE_SECURE=true)。
外部认证属于 SSRF 面:地址由管理员填写,只填可信内网地址;网关头模式要求 Jync 部署在网关之后,不能直接暴露。
元数据库换库:新增 MySQL 8.0、PostgreSQL 16、Oracle Free 23 容器中的建表与读写契约测试(*IT 需 Docker)。PostgreSQL 用例同时覆盖 Kingbase / openGauss / HighGo / Vastbase 所在的方言族。
同步行为不变:本次不改变任何同步、CDC 或类型映射路径。
README.md / README_EN.md 重写:补充开发背景、工具对比、详细部署步骤、调度设置、全量加载调参与列清洗;截图改为九宫格并支持点击放大。
全量加载调参补充硬限制与建议区间:批量大小与读取批量 1–20000,并行度 1–8 且受连接池压制,chunk-size 小于等于 0 时关闭分块;同时给出连接池与并行度的反算关系。
2370 个测试:2369 通过,0 失败;1 个仅限 Linux 的密钥文件权限用例在 macOS 上按环境跳过。*IT 需 Docker 另跑。
替换 jync.jar 重启即可。升级前备份 ./data 与 application.yml。
容器部署将镜像 tag 更新为 jync:1.8.0(Docker Compose 与 deploy/k8s/ 清单已同步)。
GITHUB: https://github.com/vfaner/jync/releases/download/v1.8.0/jync.jar
Gitee: https://gitee.com/super_rgh/jync/releases/download/v1.8.0/jync.jar

微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。