# cmD2 **Repository Path**: dust-cat/cmd2 ## Basic Information - **Project Name**: cmD2 - **Description**: 哈哈哈 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-02 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, sa-token, 双鉴权 ## README # CmD2 项目说明 ## 项目简介 CmD2 是一个基于 Spring Boot 的后端项目,旨在为管理后台和前端用户提供认证、权限控制与用户信息管理等功能。项目集成了 Sa-Token 权限认证框架,实现了多角色权限体系与多种加密工具的辅助支持。 ## 功能概述 - **用户认证与授权**:通过 Sa-Token 实现了登录、登出及角色/权限校验功能。 - **统一返回结构**:使用 `Result` 类实现统一的响应格式,支持成功与错误消息的多样化输出。 - **加密工具类**:`EncryptUtils` 提供了包括 MD5、SHA256、AES、RSA 等加密算法的实现。 - **多角色支持**:区分管理员与前台用户,通过 `StpLogic` 与 `SaCheckRole`、`SaCheckPermission` 注解实现权限控制。 - **数据结构**:包含用户、角色、权限等实体类,支持数据库持久化操作。 ## 快速开始 ### 环境要求 - Java 8 或以上版本 - Maven 3.x - 数据库支持(MySQL 或其他支持的数据库) ### 安装步骤 1. 克隆项目到本地: ```bash git clone https://gitee.com/dust-cat/cmd2.git ``` 2. 修改 `application.yml` 配置文件以适配本地数据库。 3. 使用 Maven 构建项目: ```bash mvn clean package ``` 4. 启动项目: ```bash java -jar target/cmd2-*.jar ``` ## API 接口说明 ### 认证模块 (`/auth`) - `POST /login`:后台用户登录,接收用户名和密码。 - `POST /logout`:后台用户登出。 - `GET /info`:获取当前登录用户的信息。 ### 前端用户模块 (`/api`) - `POST /login`:前端用户登录。 - `POST /logout`:前端用户登出。 ### 测试模块 (`/test`) - `GET /admin`:仅允许管理员角色访问。 - `GET /list`:需要 `sys:user:list` 权限访问。 - `GET /menus`:获取用户权限菜单列表。 ## 工具类说明 ### EncryptUtils 提供多种加密方法,包括: - `md5`:生成 MD5 哈希。 - `sha256`:生成 SHA256 哈希。 - `aesEncrypt` / `aesDecrypt`:AES 加密与解密。 - `rsaEncrypt` / `rsaDecrypt`:RSA 加密与解密。 - `generateRsaKeyPair`:生成 RSA 密钥对。 ## 数据模型 - **用户 (`User`, `FrontUsers`)**:分别表示后台用户与前端用户。 - **角色 (`Role`, `FrontRoles`)**:定义后台与前端用户角色。 - **权限 (`Permission`)**:用于定义权限信息,支持菜单与操作权限。 ## 其他说明 - 使用 MyBatis Plus 实现数据库操作。 - 项目通过 `@MapperScan` 扫描并注册 Mapper 接口。 - 全局异常处理由 `GlobalExceptionHandler` 提供,统一返回异常结果。 ## 版权与许可证 项目遵循开源协议,请查看根目录下的 `LICENSE` 文件了解具体许可条款。