用户中心-登录模块【1-1】

一、架构设计详解

用户服务 User Service

1. 需求分析理解上下文与关键需求

  • 业务目标: 安全可靠地验证用户身份,提供访问系统的凭证(Token)。

  • 功能性需求:

    • 支持用户名/密码登录、手机号/验证码登录。

    • 支持登出(可选,取决于Token管理方式)。

    • 支持Token刷新。

    • 提供用户基础信息。

  • 非功能性需求 (关键!):

    • 安全性 (最高优先级): 防暴力破解、防撞库、密码安全存储(加盐哈希)、敏感信息保护、Token防泄漏/防篡改、防止重放攻击。

    • 可用性: 登录是入口,高可用至关重要(99.9%+)。避免单点故障。

    • 性能: 登录操作频繁,响应延迟要低(如 < 200ms)。验证码生成/校验、密码哈希计算不能成为瓶颈。

    • 可扩展性: 能应对登录高峰期(如促销活动开始)。

    • 可维护性: 清晰的结构,易于集成新的登录方式(如微信登录)。

    • 用户体验: 登录流程顺畅,错误信息友好(但不泄露安全细节)。

 

2. 架构设计 (概念性与深入设计结合)

  • 核心组件:

    • User Service: 登录逻辑的核心承载者。包含用户数据存储(DB)、密码验证、Token生成/验证逻辑(或与认证服务器交互)。

    • Redis集群: 核心基础设施。用于:

      • 存储会话Token(JWT的Refresh Token,或传统Session ID)。

      • 存储短信/邮箱验证码(设置短TTL)。

      • 实现登录失败次数限制(防暴力破解)。

      • 存储黑名单Token(登出后立即失效)。

    • API Gateway: 统一入口。负责:

      • 将登录请求路由到 User Service

      • 执行基础安全策略(如IP限流 - 防止刷接口)。

      • (可选)与 User Service 配合进行Token校验(在网关层拦截非法请求)。

    • SMS Service / Email Service (或集成到通知服务): 负责发送登录验证码。

    • Config Center: 管理安全相关配置(如密码哈希强度、Token有效期、失败锁定阈值)。

      <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值