Skip to content

jurentiancheng/auth-center

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auth Center

一个基于 Rust 和 Axum 框架开发的认证中心服务,提供用户管理、权限控制和组织架构管理等核心功能。

项目结构说明

本项目采用清晰的模块化结构,主要包含以下目录:

核心目录结构

auth-center/
├── src/
│   ├── main.rs          # 应用程序入口点
│   ├── lib.rs           # 核心库文件,包含全局配置和初始化逻辑
│   ├── route.rs         # 路由配置,定义API端点和控制器映射
│   ├── util.rs          # 工具类,包含通用的辅助函数和工具方法
│   ├── ctl/             # 控制器层,处理HTTP请求和响应
│   ├── entities/        # 数据库实体层,定义数据模型
│   ├── mapper/          # 数据访问层,实现数据库操作
│   ├── pojo/            # 数据传输对象,定义API请求/响应结构
│   └── svc/             # 服务层,实现核心业务逻辑
├── Cargo.toml           # 项目依赖和配置
├── Cargo.lock           # 依赖版本锁定文件
└── Dockerfile           # Docker构建配置文件

分层架构说明

控制器层 (src/ctl)

  • 处理HTTP请求和响应
  • 实现RESTful API接口
  • 验证请求参数并返回适当的响应格式
  • 调用服务层处理业务逻辑

数据库实体层 (src/entities)

  • 定义与数据库表结构对应的实体类
  • 使用SeaORM框架进行数据库映射
  • 包含表结构定义和关系配置

数据访问层 (src/mapper)

  • 包含数据库操作的具体实现
  • 提供CRUD操作和其他自定义查询方法
  • 将数据库记录映射为实体对象

数据传输对象 (src/pojo)

  • 定义API请求和响应的数据结构
  • 包含数据验证规则
  • 用于不同层之间安全地传递数据

服务层 (src/svc)

  • 实现核心业务逻辑
  • 调用mapper层进行数据持久化操作
  • 处理跨多个实体的复杂业务规则
  • 向控制器层提供业务功能接口

核心模块

  • main.rs: 应用程序入口,负责启动服务器和初始化配置
  • lib.rs: 核心库文件,包含全局状态和共享配置
  • route.rs: 定义所有API路由及其对应的控制器方法
  • util.rs: 通用工具函数集合,如密码加密、JWT生成等

主要功能模块

用户管理

  • 用户注册与登录
  • 用户信息管理(创建、读取、更新、删除)
  • 角色分配与管理
  • 组管理及成员维护

权限管理

  • 角色定义与管理
  • 权限分配与继承
  • 基于角色的访问控制(RBAC)
  • 操作审计与日志记录

组织架构

  • 部门结构管理
  • 职位定义与分配
  • 组织单元层级管理
  • 组织与用户关联

系统配置

  • 全局参数配置
  • 认证策略配置
  • 安全策略设置
  • 第三方集成配置

技术栈

  • 编程语言: Rust (1.60+)
  • Web框架: Axum - 异步、模块化的Web框架
  • 数据库 ORM: Sea-ORM - 强类型的ORM框架
  • 异步运行时: Tokio - 高性能异步执行环境
  • 序列化/反序列化: Serde - 高效的数据转换库
  • 日志系统: Tracing - 结构化事件跟踪框架
  • 加密库: OpenSSL/Ring - 安全的加密解密操作
  • 时间处理: Chrono - 日期时间操作库
  • 错误处理: Anyhow - 简化的错误类型封装
  • 数据库: PostgreSQL/MySQL - 支持的关系型数据库
  • 容器化: Docker/Docker Compose - 环境隔离和部署

开发环境要求

  • Rust 1.60+ 已安装Rust工具链
  • Cargo 包管理器
  • Docker 和 Docker Compose(用于容器化部署)
  • PostgreSQL 或 MySQL 开发环境
  • Git 版本控制系统

构建和运行

  1. 确保已安装 Rust 工具链
  2. 克隆项目
  3. 运行 cargo build 构建项目
  4. 运行 cargo run 启动服务

Docker 支持

项目包含 Dockerfile,支持容器化部署:

docker build -t auth-center .
docker run -p 18080:18080 auth-center

开发规范

  • 所有代码遵循Rust官方编码规范
  • 使用Tracing进行结构化日志记录
  • 所有外部API使用Serde进行数据序列化/反序列化
  • 数据库操作全部通过Sea-ORM进行
  • 错误处理统一使用Anyhow包装
  • 安全相关操作使用加密库保证安全性

About

auth-center simple

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published