# admin-server **Repository Path**: jiangzhanwei/admin-server ## Basic Information - **Project Name**: admin-server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-17 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Universal Admin Server 基于 Java 21、Spring Boot 3.5 和 MySQL 8 的通用后台服务。 ## 初始化 `sql` 目录只保留一个面向全新数据库的最终脚本: ```bash mysql -h 127.0.0.1 -P 3306 -u root -p < sql/universal_admin.sql ``` 脚本创建的 `admin` 默认处于禁用状态,且没有公共默认密码。首次启动时通过一次性环境变量激活: ```bash ADMIN_INITIAL_PASSWORD='请替换为强随机密码' mvn spring-boot:run ``` 激活成功后立即移除 `ADMIN_INITIAL_PASSWORD`,登录并再次修改密码。已有数据库不要直接执行最终脚本;应先备份,在预发布环境验证重建或迁移方案。 ## 开发启动 ```bash mvn spring-boot:run ``` 开发环境默认连接 `127.0.0.1:3306/universal_admin`。可通过 `DB_HOST`、`DB_PORT`、`DB_NAME`、`DB_USERNAME`、`DB_PASSWORD` 覆盖。 ## 生产启动 生产环境至少配置: ```bash SPRING_PROFILES_ACTIVE=prod DB_HOST=db.example.internal DB_USERNAME=universal_admin_app DB_PASSWORD='使用秘密管理系统注入' JWT_SECRET='至少32字节的安全随机值' CORS_ALLOWED_ORIGINS='https://admin.example.com' COOKIE_SECURE=true FILE_ANTIVIRUS_REQUIRED=true CLAMAV_HOST=clamav.example.internal java -jar target/universal-admin-server-1.0.0.jar ``` 生产保护会拒绝默认 JWT 密钥、非安全 Cookie、root 数据库账号、本地域名 CORS 和未启用病毒扫描的配置。 ## 验证 ```bash mvn test mvn package mvn com.github.spotbugs:spotbugs-maven-plugin:4.9.8.2:check -DskipTests ``` 详细约定见 [docs](docs/architecture.md)。