浙通信息用户管理中台 — API 文档 v1.0  |  89 个接口

系统概述

浙通信息用户管理中台是一套面向企业的统一身份认证与用户管理系统,提供用户全生命周期管理、角色权限控制、安全策略配置、LDAP/RADIUS 集成及全面的日志审计能力。

组件技术 / 配置
后端框架Flask(Python 3.12.11)
前端应用单文件 HTML 应用
数据库SQLite
Web 服务器Nginx 1.26.3
LDAP 服务端口 1389,Base DN: dc=ztinfo,dc=com
密码策略最少 8 位,必须包含数字
认证方式Session Cookie + API Token
API 路由总数89 个

统一响应格式

所有 API 接口返回统一的 JSON 格式:

{
  "code": 200,
  "message": "操作成功",
  "data": {
    // 业务数据
  }
}
字段说明: code 为 HTTP 状态码;message 为提示信息;data 为业务数据,失败时可能为 null。

认证说明

系统支持两种认证方式:Session Cookie 认证(Web 前端)和 API Token 认证(第三方集成 / RESTful API v1)。

方式一:Session Cookie 认证

适用于浏览器端 Web 应用。用户通过 POST /api/login 登录后,服务器创建 Session 并通过 Set-Cookie 下发。后续请求浏览器自动携带 Cookie,无需额外配置。

  • 登录接口:POST /api/login
  • 登出接口:POST /api/logout
  • Cookie 名称:session
  • 适用范围:/api/*(不含 /api/v1/*)

方式二:API Token 认证

适用于第三方系统对接和 RESTful API v1 接口。通过管理后台创建 API Token,在请求头中携带 Token 进行认证。

  • Token 管理:/api/tokens
  • 请求头格式:Authorization: Bearer <token>
  • 适用范围:/api/v1/* 全部接口
  • Token 可设置权限范围和过期时间
curl -X GET https://your-domain/api/v1/users \
  -H "Authorization: Bearer your_api_token_here"

通用请求头

请求头说明必填
Content-Typeapplication/json是(POST/PUT)
CookieSession Cookie,浏览器自动携带Session 认证时
AuthorizationBearer <token>,API Token 认证Token 认证时

密码策略

系统密码策略可通过 /api/security/password-policy 接口进行配置,支持多维度密码复杂度要求和安全锁定机制。

策略项字段默认值 / 说明
最小密码长度min_length8(最少 8 位)
必须包含数字require_digittrue(强制要求)
必须包含大写字母require_uppercase可配置
必须包含小写字母require_lowercase可配置
必须包含特殊字符require_special可配置
密码重置周期(天)reset_cycle_days定期强制修改密码
弱密码检测prevent_weak_passwords阻止使用常见弱密码
最大登录失败次数max_login_attempts超过后锁定账户
账户锁定时长(分钟)lockout_duration锁定后自动解锁时间
注意:密码必须至少 8 位且包含数字,这是系统的强制最低要求。其他策略项可根据安全需求灵活配置。

错误码说明

API 接口使用标准 HTTP 状态码,响应体中的 code 字段与 HTTP 状态码一致。

状态码名称说明
200OK请求成功
201Created资源创建成功
400Bad Request请求参数错误或格式不正确
401Unauthorized未认证、未登录或 Session / Token 已过期
403Forbidden已认证但无权限访问该资源
404Not Found请求的资源不存在
409Conflict资源冲突(如用户名已存在)
422Unprocessable Entity请求格式正确但语义有误(如密码不符合策略)
429Too Many Requests请求频率过高,已被限流
500Internal Server Error服务器内部错误
502Bad Gateway网关错误(Nginx 上游异常)
503Service Unavailable服务不可用(如 LDAP / RADIUS 服务未启动)

LDAP 服务端

系统内置 LDAP 服务端,可为外部应用提供统一的 LDAP 身份认证服务。支持 SM3 密码哈希算法,可与用户管理中台数据同步。

服务配置

配置项值
监听端口1389
Base DNdc=ztinfo,dc=com
用户 DN 模式uid={username},dc=ztinfo,dc=com
密码哈希算法SM3
userPassword 属性格式{SM3}hash:salt
userPassword 属性格式说明:LDAP 服务端存储的密码采用 {SM3}hash:salt 格式。其中 {SM3} 为算法标识,hash 为 SM3 哈希值(十六进制),salt 为随机盐值。示例:{SM3}a1b2c3d4e5f6:d8e9f0a1b2c3

LDAP 服务端管理接口

LDAP 服务端的配置查询、更新、状态监控及启停控制可通过以下接口管理:

LDAP 客户端配置

系统同时支持作为 LDAP 客户端连接外部 LDAP 服务器,可通过 /api/security/ldap 系列接口配置外部 LDAP 连接参数并同步用户。

# 外部应用通过 LDAP 认证示例
ldapsearch -H ldap://your-domain:1389 \
  -D "uid=testuser,dc=ztinfo,dc=com" \
  -W \
  -b "dc=ztinfo,dc=com" \
  "(uid=testuser)"

数据库表结构

系统使用 SQLite 数据库,共包含 22 张数据表,涵盖用户、部门、角色、权限、安全配置、日志及系统设置等。

⚙ users — 用户表
字段说明
id用户 ID(主键)
username用户名(唯一)
password_hash密码哈希值
salt密码盐值
nickname昵称
real_name真实姓名
phone手机号
email邮箱
id_card身份证号
position职位
status用户状态(active / disabled / pending / locked)
effective_time生效时间
expiry_time过期时间
failed_login_count登录失败次数
locked_until锁定截止时间
last_login_at最后登录时间
last_login_ip最后登录 IP
must_change_password是否需要修改密码
password_changed_at密码最后修改时间
⚙ departments — 部门表
字段说明
id部门 ID(主键)
name部门名称
parent_id上级部门 ID(支持树形结构)
sort_order排序序号
status部门状态
⚙ roles — 角色表
字段说明
id角色 ID(主键)
name角色名称
code角色编码(唯一)
description角色描述
status角色状态
sort_order排序序号
⚙ permissions — 权限表
字段说明
id权限 ID(主键)
name权限名称
code权限编码
type权限类型(menu / button / api)
parent_id上级权限 ID(树形结构)
sort_order排序序号
path前端路由路径
icon菜单图标
⚙ user_roles — 用户角色关联表
字段说明
user_id用户 ID
role_id角色 ID
⚙ user_departments — 用户部门关联表
字段说明
id主键
user_id用户 ID
department_id部门 ID
is_primary是否主部门
⚙ role_permissions — 角色权限关联表
字段说明
role_id角色 ID
permission_id权限 ID
⚙ password_policy — 密码策略表
字段说明
min_length最小密码长度
require_uppercase是否要求大写字母
require_lowercase是否要求小写字母
require_digit是否要求数字
require_special是否要求特殊字符
reset_cycle_days密码重置周期(天)
prevent_weak_passwords是否启用弱密码检测
max_login_attempts最大登录失败次数
lockout_duration账户锁定时长(分钟)
⚙ ip_rules — IP 规则表
字段说明
id规则 ID(主键)
ip_rangeIP 地址范围(如 192.168.1.0/24)
rule_type规则类型(allow / deny)
description规则描述
status规则状态(enabled / disabled)
⚙ login_logs — 登录日志表
字段说明
id日志 ID(主键)
username登录用户名
user_id用户 ID
login_time登录时间
source_ip来源 IP
user_agent用户代理
status登录状态(success / failed)
fail_reason失败原因
location登录地点
⚙ operation_logs — 操作日志表
字段说明
id日志 ID(主键)
user_id操作用户 ID
username操作用户名
operation操作类型
module操作模块
target_type操作目标类型
target_id操作目标 ID
detail操作详情
ip操作 IP
user_agent用户代理
created_at创建时间
⚙ api_logs — API 调用日志表
字段说明
id日志 ID(主键)
token_idToken ID
token_nameToken 名称
user_id用户 ID
username用户名
method请求方法
endpoint请求端点
path请求路径
status_code响应状态码
response_time_ms响应耗时(毫秒)
created_at创建时间
⚙ api_tokens — API Token 表
字段说明
idToken ID(主键)
tokenToken 值
nameToken 名称
user_id所属用户 ID
permissions权限范围
statusToken 状态
expires_at过期时间
created_at创建时间
last_used_at最后使用时间
⚙ ldap_config — LDAP 配置表
字段说明
id配置 ID(主键)
serverLDAP 服务器地址
portLDAP 服务器端口
bind_dn绑定 DN
bind_password绑定密码
base_dnBase DN
user_filter用户过滤器
sync_filter同步过滤器
use_ssl是否启用 SSL
enabled是否启用 LDAP 认证
⚙ radius_config — RADIUS 配置表
字段说明
id配置 ID(主键)
serverRADIUS 服务器地址
portRADIUS 服务器端口
shared_secret共享密钥
timeout超时时间(秒)
retries重试次数
enabled是否启用 RADIUS 认证
⚙ syslog_config — Syslog 配置表
字段说明
id配置 ID(主键)
serverSyslog 服务器地址
portSyslog 服务器端口
protocol协议(UDP / TCP)
facility日志设施
enabled是否启用 Syslog
log_login是否记录登录日志
log_operation是否记录操作日志
log_level日志级别
tag日志标签
⚙ ldap_access_logs — LDAP 访问日志表
字段说明
记录 LDAP 服务端的认证访问日志,包括认证请求、来源 IP、认证结果等信息。
⚙ radius_access_logs — RADIUS 访问日志表
字段说明
记录 RADIUS 服务端的认证访问日志,包括认证请求、来源 IP、认证结果等信息。
⚙ radius_accounting_logs — RADIUS 记账日志表
字段说明
记录 RADIUS 记账信息,包括用户上下线时间、流量统计、会话时长等。
⚙ system_settings — 系统设置表
字段说明
存储系统全局设置项,以键值对形式管理。
⚙ sessions — 会话表
字段说明
存储用户登录会话信息,用于会话管理和在线状态跟踪。

API 接口

系统共提供 89 个 API 接口,按功能分为 19 个分类。所有接口均以 /api 为前缀。支持在下方搜索框中按关键词过滤接口。

1 认证管理

提供用户登录、登出、注册、个人信息查询和密码修改功能。

方法路径说明
POST/api/login用户登录,返回用户信息和权限
POST/api/logout用户登出,清除 session
POST/api/register用户注册
GET/api/profile获取当前用户信息
POST/api/change-password修改自己的密码(需旧密码验证)

2 仪表盘

提供系统仪表盘统计数据。

方法路径说明
GET/api/dashboard/stats获取仪表盘统计数据(用户数、登录统计等)

3 用户管理

用户全生命周期管理,包括增删改查、状态管理、角色分配、批量操作和审核流程。

方法路径说明
GET/api/users获取用户列表(支持分页、搜索、筛选)
GET/api/users/{uid}获取用户详情
POST/api/users创建用户
PUT/api/users/{uid}更新用户信息(支持密码修改)
DELETE/api/users/{uid}删除用户
PUT/api/users/{uid}/status更新用户状态
POST/api/users/{uid}/reset-password重置用户密码
GET/api/users/{uid}/roles获取用户角色
PUT/api/users/{uid}/roles分配用户角色
PUT/api/users/batch-status批量更新用户状态
POST/api/users/batch-import批量导入用户
GET/api/users/batch-export批量导出用户
GET/api/users/pending获取待审核用户
PUT/api/users/{uid}/approve审核通过用户
PUT/api/users/{uid}/reject拒绝用户

4 部门管理

组织架构管理,支持树形层级结构的部门增删改查。

方法路径说明
GET/api/departments获取部门列表(树形结构)
POST/api/departments创建部门
PUT/api/departments/{did}更新部门
DELETE/api/departments/{did}删除部门

5 角色管理

角色资源的增删改查,角色是权限分配的载体。

方法路径说明
GET/api/roles获取角色列表
POST/api/roles创建角色
PUT/api/roles/{rid}更新角色
DELETE/api/roles/{rid}删除角色

6 角色权限

管理角色与权限的关联关系,实现基于角色的访问控制(RBAC)。

方法路径说明
GET/api/roles/{rid}/permissions获取角色权限
PUT/api/roles/{rid}/permissions分配角色权限

7 权限管理

权限资源管理,支持菜单、按钮、API 等多种权限类型。

方法路径说明
GET/api/permissions获取权限列表
POST/api/permissions创建权限
PUT/api/permissions/{pid}更新权限
DELETE/api/permissions/{pid}删除权限

8 安全设置 — 密码策略

查询和更新系统密码复杂度策略。

方法路径说明
GET/api/security/password-policy获取密码策略
PUT/api/security/password-policy更新密码策略

9 安全设置 — IP 规则

IP 黑白名单管理,控制访问来源。

方法路径说明
GET/api/security/ip-rules获取 IP 规则列表
POST/api/security/ip-rules创建 IP 规则
PUT/api/security/ip-rules/{rid}更新 IP 规则
DELETE/api/security/ip-rules/{rid}删除 IP 规则

10 安全设置 — 会话管理

查看和管理在线用户会话,支持强制终止会话。

方法路径说明
GET/api/security/sessions获取在线会话
DELETE/api/security/sessions/{uid}终止用户会话

11 安全设置 — Syslog

Syslog 日志服务器配置和连接测试。

方法路径说明
GET/api/security/syslog获取 Syslog 配置
PUT/api/security/syslog更新 Syslog 配置
POST/api/security/syslog/test测试 Syslog 连接

12 安全设置 — LDAP 配置

外部 LDAP 服务器连接配置、测试和用户同步。

方法路径说明
GET/api/security/ldap获取 LDAP 配置
PUT/api/security/ldap更新 LDAP 配置
POST/api/security/ldap/test测试 LDAP 连接
POST/api/security/ldap/sync同步 LDAP 用户

13 安全设置 — LDAP 服务端

内置 LDAP 服务端配置和运行管理,为外部应用提供 LDAP 认证服务。

方法路径说明
GET/api/security/ldap-server/config获取 LDAP 服务端配置
PUT/api/security/ldap-server/config更新 LDAP 服务端配置
GET/api/security/ldap-server/status获取 LDAP 服务端状态
POST/api/security/ldap-server/control启动 / 停止 LDAP 服务端

14 安全设置 — RADIUS 配置

外部 RADIUS 服务器连接配置和测试。

方法路径说明
GET/api/security/radius获取 RADIUS 配置
PUT/api/security/radius更新 RADIUS 配置
POST/api/security/radius/test测试 RADIUS 连接

15 安全设置 — RADIUS 服务端

内置 RADIUS 服务端配置和运行管理,为网络设备提供 RADIUS 认证服务。

方法路径说明
GET/api/security/radius-server/config获取 RADIUS 服务端配置
PUT/api/security/radius-server/config更新 RADIUS 服务端配置
GET/api/security/radius-server/status获取 RADIUS 服务端状态
POST/api/security/radius-server/control启动 / 停止 RADIUS 服务端

16 日志管理

系统各类日志的查询、导出和清理。

方法路径说明
GET/api/logs/login获取登录日志
GET/api/logs/operation获取操作日志
GET/api/logs/api获取 API 调用日志
GET/api/logs/export导出日志
GET/api/logs/ldap获取 LDAP 访问日志
DELETE/api/logs/ldap/clear清除 LDAP 日志
GET/api/logs/radius获取 RADIUS 日志

17 RADIUS 日志

RADIUS 服务端的在线用户管理、记账记录、调试日志和日志清理。

方法路径说明
GET/api/logs/radius/online获取在线用户
POST/api/logs/radius/online/disconnect断开在线用户
GET/api/logs/radius/accounting获取记账记录
GET/api/logs/radius/accounting/stats获取记账统计
GET/api/logs/radius/debug获取调试日志
POST/api/logs/radius/debug/clear清除调试日志
DELETE/api/logs/radius/clear清除 RADIUS 日志

18 API Token 管理

API Token 的创建、更新、删除和列表查询,用于第三方系统对接认证。

方法路径说明
GET/api/tokens获取 Token 列表
POST/api/tokens创建 Token
PUT/api/tokens/{tid}更新 Token
DELETE/api/tokens/{tid}删除 Token

19 RESTful API v1

面向第三方系统的 RESTful API,统一使用 Token 认证(Authorization: Bearer <token>)。

认证方式:此组接口仅支持 API Token 认证,不支持 Session Cookie。需在请求头中携带 Authorization: Bearer <token>。
方法路径说明
GET/api/v1/health健康检查
POST/api/v1/auth/loginToken 认证登录
POST/api/v1/auth/logoutToken 认证登出
GET/api/v1/users/me获取当前用户(Token 认证)
GET/api/v1/users获取用户列表(Token 认证)
GET/api/v1/users/{uid}获取用户详情(Token 认证)
POST/api/v1/users创建用户(Token 认证)
PUT/api/v1/users/{uid}更新用户(Token 认证)
DELETE/api/v1/users/{uid}删除用户(Token 认证)
GET/api/v1/departments获取部门列表(Token 认证)