TKey Docs
  • Introduction
  • 认识阶段 (必读)
    • 单点登录系统认知与基础介绍
    • 故意设计点(常见问题)
    • 项目结构与端口占用
    • OAuth2.0 四种模式
    • JAR 方式部署
    • Docker 方式部署
    • Docker Compose 方式部署
  • TKey Server 开发阶段
    • 开发改造引导
  • TKey Management 开发阶段(也是前后端分离的最佳实践示例)
    • 后端开发改造引导
    • 前端开发改造引导
  • TKey Client Java 开发阶段
    • 自己封装的 REST Client
    • Spring Security 支持
  • 测试阶段
    • 单元测试
    • 压力测试
  • 部署阶段
    • 生产注意事项
    • 部署环境搭建
  • 监控阶段
    • Spring Boot Micrometer
    • 其他工具全在 部署环境搭建,请自行查看
  • 线上问题诊断
    • Actuator 在线修改 log 输出级别(Gif 动图)
    • Arthas 诊断 Docker 应用
    • 夜间开放端口,挑选流量远程 Debug
Powered by GitBook
On this page
  • 必备要求
  • 可以额外改造的
  • 关于 Client 信息管理

Was this helpful?

  1. 部署阶段

生产注意事项

Previous部署阶段Next部署环境搭建

Last updated 5 years ago

Was this helpful?

  • 请不要轻视安全问题,这是一个永远永远都要放心上的问题

  • 请结合该篇一起阅读:

    • 故意设计点(常见问题):、

必备要求

  1. 全网 HTTPS,全网 HTTPS,全网 HTTPS

  2. 不要明文存储用户密码,不要明文,不要明文(前端 MD5 后再传输)

  3. Cookie 的 httpOnly 和 secure 都为 true

可以额外改造的

  1. Token 绑定 IP 和 User-Agent

  2. 客户端必传 state 防止 CSRF

  3. 增加多因素认证

  4. 增加异地登入审查

  5. 分析异常登入记录

关于 Client 信息管理

  • 在 TKey Server 中有一个类:ApplicationTestDataInitRunner.java 会在本地开发环境、测试环境生成一个测试专用的 Client

  • 如果你已经准备上对外测试、生产记得梳理下 Client 的管理。默认是应该在 TKey Management 项目中进行管理 Client,而 TKey Server 只是读取 Client

  • TKey Management 中也有一个类:ApplicationTestDataInitRunner.java 会在本地开发环境、测试环境启动的时候读取 H2 数据库,初始化 Client 到 Redis 中

  • 以上两个人类都没有强加在 Prod 环境,担心开发者无意识地操作,造成生产事故,所以大家如果需要这个初始化,需要自己评估,并且开启在 Prod 环境下

Github
Gitee