个人简介

Echo Blog


江湖无名 安心练剑
  • IM 即时通讯系统 SSO 系列-09-用户密码的完整生命周期
    邮箱验证 我们接下来的重点如何管理用户的密码? 如何保证安全、同时实现忘记密码、修改密码等常用的操作。 整体流程 我们针对密码的创建、修改、忘记密码、验证密码等流程,进行实现。 建表语句 -- 创建用户密码表 CREATE TABLE user_password ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID', ...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-08-用户激活邮箱验证
    邮箱验证 我们接下来的重点就是结合邮箱,实现一个验证方式。 当然验证的方式可以有多种,目前比较推荐的还是邮箱验证。 整体流程 1)发送验证码到用户邮箱 2)用户点击后进行验证校验+处理,通过后更新对应的状态。 核心实现 建表语句 drop table if exists user_email_verify; CREATE TABLE user_email_verify ( ...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-07-真实用户生命周期
    生命周期 真实用户的生命周期包括入职同步、激活、正常使用、调岗处理、离职回收等步骤。 可能的流程如下: 入职同步(从HR系统同步) 创建用户账号 分配至小组 发送激活邮件 用户激活账号 正常使用 调岗处理(更新部门/小组) 离职标记...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-06-multi Tenancy 多租户
    chat 什么是多租户? 多租户(Multi - Tenancy)是一种软件架构设计模式,它允许一个软件实例同时为多个不同的客户(租户)提供服务。 每个租户就像是拥有自己独立的软件副本,彼此之间的数据和配置相互隔离,但实际上他们共享同一个软件实例和底层基础设施。 以下是关于多租户的详细介绍: 核心概念 租户隔离:租户之间的数据和业务逻辑相互隔离,一个租户的数据不能被其他租户访...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-05-swagger 文档整合
    swagger 文档接入 将项目与 swagger 进行整合,所有 controller 和 dto 添加对应的注解,为了解耦,入参使用 dto,复制后调用底层实体。 整体流程 pom.xml 引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springf...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-03-基于 mybatis 实现 CRUD
    实现基本的 crud pom.xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version&g...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-03-初始化建表语句
    基础的表设计 设计一下用户生命周期管理,一个普通用户,固定在一个小组内,小组固定在一个部门内,部门固定在一个公司内。 用户还区分为普通真实用户、系统虚拟用户,首先给出这部分的 mysql 表设计,包括数据库建表语句等 create database sso; use sso; -- 组织架构管理系统数据库表结构 -- 公司表 CREATE TABLE company ( i...
    2024-11-02 13:01:55 | IM
  • IM 即时通讯系统 SSO 系列-01-整体概览
    IM 开源系列 我们先从实现一个简单的公司内部使用的 IM 工具开始。 首先需要一个基础的能力。 SSO 组织关系。 循序渐进 我们可以先不考虑 HR 系统,先从页面的操作开始实现,做一个 MVP 版本。 后续的文章中我们会先从最基本的用户、小组、部门、公司从下向上而实现。 chat 哪些特性? chat: 我想实现一个公司内部的 sso 维护系统,你觉得应该有哪些核心能力...
    2024-11-02 13:01:55 | IM