Skip to content

登录日志

一、功能概述

登录日志管理模块基于auth_login_record表实现用户登录行为的全程记录与追踪,支持日志查询、详情查看及个性化筛选功能。系统记录用户登录的关键信息(如IP地址、登录类型、项目信息等),通过分页查询和数据去重满足不同场景下的日志分析需求,同时区分管理员视角与个人视角的日志查看权限。

二、核心功能说明

(一)登录日志列表查询

  1. 操作路径:系统管理 → 登录日志页面,默认加载或通过筛选条件查询
  2. 查询参数
    • 用户账号(userName,支持工号或appid
    • 登录类型(login_type:1账号登录/2授权登录/3免密登录)
    • 项目ID(projectId,关联登录的项目)
    • 登录IP(loginIp,模糊匹配)
    • 登录日期(loginDate,按天筛选,自动匹配当天起止时间)
    • 去重选项(options=distinct,按用户账号去重,保留最新记录)
  3. 分页与排序
    • 支持分页查询,通过pageNumpageSize指定页码和每页条数
    • 默认按create_date(登录时间)降序排列,支持自定义排序字段
  4. 查询逻辑
    • 普通查询:返回符合条件的所有登录记录,支持分页和排序
    • 去重查询:按user_name分组,仅保留每条分组中最新的登录记录(通过GROUP_CONCATSUBSTRING_INDEX实现)
  5. 数据转换
    • 登录类型为授权登录(login_type=2)时,将user_name(存储为appid)转换为项目名称
    • 项目ID(project_id)自动转换为项目名称(通过ProjectCache获取)
  6. 返回字段
    • 日志基本信息(ID、用户账号、登录类型、IP地址等)
    • 扩展信息(登录位置、浏览器信息、登录结果等)
    • 关联信息(项目名称、登录时间等)

(二)登录日志详情查询

  1. 操作路径:登录日志列表点击目标记录「详情」按钮
  2. 查询参数:日志ID(alr_id,必填)
  3. 返回字段:登录日志的完整信息,包括:
    • 基础信息:用户ID、账号、登录类型、项目ID等
    • 环境信息:浏览器信息(user_agent)、操作来源(user_referer)、代理平台(user_plat_form
    • 网络信息:IP地址(login_ip)、IP位置(login_ip_address
    • 结果信息:登录结果(login_result,成功/失败原因)
    • 时间信息:登录时间(create_date

(三)个人登录记录查询

  1. 操作路径:个人中心 → 登录记录页面
  2. 查询参数
    • 项目编号(projectCode,必填,指定查询的项目)
    • 分页参数(pageNumpageSize,必填,pageSize最大为100)
  3. 权限控制
    • 仅能查询当前登录用户(LoginUserBO.getLoginUser())的登录记录
    • 仅能查询指定项目(projectCode对应的项目)的记录
    • 项目不存在时提示“该项目不存在!”,项目已停用时提示“该项目已停用!”
  4. 分页与排序:支持分页,默认按登录时间降序排列
  5. 返回字段:与日志列表查询一致,但仅包含当前用户的记录

三、登录类型与状态说明

(一)登录类型(login_type

类型编码说明user_name存储内容
1账号登录用户工号
2授权登录项目appid(外部系统接入)
3免密登录用户工号

(二)登录结果(login_result

  • 成功:显示“登录成功”
  • 失败:显示具体原因(如“密码错误”“账号锁定”“IP限制”等)

四、应用场景说明

  1. 安全审计:通过登录日志追踪异常登录行为(如异地IP、频繁失败登录)
  2. 用户行为分析:统计用户登录频率、常用设备、访问项目等信息
  3. 问题排查:根据登录结果和时间定位用户登录失败的原因(如密码错误、权限不足)
  4. 合规性记录:留存用户登录记录,满足数据安全和审计要求