Files
AIclinicalresearch/redcap-docker-dev/env.template
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1):
- Database: Add user_modules table for fine-grained module permissions
- Database: Add 4 user permissions (view/create/edit/delete) to role_permissions
- Backend: UserService (780 lines) - CRUD with tenant isolation
- Backend: UserController + UserRoutes (648 lines) - 13 API endpoints
- Backend: Batch import users from Excel
- Frontend: UserListPage (412 lines) - list/filter/search/pagination
- Frontend: UserFormPage (341 lines) - create/edit with module config
- Frontend: UserDetailPage (393 lines) - details/tenant/module management
- Frontend: 3 modal components (592 lines) - import/assign/configure
- API: GET/POST/PUT/DELETE /api/admin/users/* endpoints

Architecture Upgrade - Module Permission System:
- Backend: Add getUserModules() method in auth.service
- Backend: Login API returns modules array in user object
- Frontend: AuthContext adds hasModule() method
- Frontend: Navigation filters modules based on user.modules
- Frontend: RouteGuard checks requiredModule instead of requiredVersion
- Frontend: Remove deprecated version-based permission system
- UX: Only show accessible modules in navigation (clean UI)
- UX: Smart redirect after login (avoid 403 for regular users)

Fixes:
- Fix UTF-8 encoding corruption in ~100 docs files
- Fix pageSize type conversion in userService (String to Number)
- Fix authUser undefined error in TopNavigation
- Fix login redirect logic with role-based access check
- Update Git commit guidelines v1.2 with UTF-8 safety rules

Database Changes:
- CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled)
- ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code)
- INSERT 4 permissions + role assignments
- UPDATE PUBLIC tenant with 8 module subscriptions

Technical:
- Backend: 5 new files (~2400 lines)
- Frontend: 10 new files (~2500 lines)
- Docs: 1 development record + 2 status updates + 1 guideline update
- Total: ~4900 lines of code

Status: User management 100% complete, module permission system operational
2026-01-16 13:42:10 +08:00

84 lines
1.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# REDCap Docker环境变量配置模板
# 版本v1.0
# 日期2026-01-01
# 用途:环境变量模板
# 使用方法:复制此文件为.env后修改
# Windows: copy env.template .env
# Linux/Mac: cp env.template .env
# ========== MySQL数据库配置开发环境 ==========
# ⚠️ 警告:这些是开发环境密码,生产环境必须修改!
# MySQL Root密码
MYSQL_ROOT_PASSWORD=redcap_root_dev_2026
# MySQL数据库名
MYSQL_DATABASE=redcap
# MySQL用户名
MYSQL_USER=redcap_user
# MySQL用户密码
MYSQL_PASSWORD=redcap_pass_dev_456
# ========== 生产环境配置ECS + RDS ==========
# 生产环境使用时,取消注释并修改以下配置:
# RDS MySQL连接信息
# REDCAP_DB_HOST=rm-xxxxxx.mysql.rds.aliyuncs.com
# REDCAP_DB_PORT=3306
# MYSQL_DATABASE=redcap_prod
# MYSQL_USER=redcap_user_prod
# MYSQL_PASSWORD=YOUR_STRONG_PASSWORD_HERE
# ========== REDCap Salt值 ==========
# ⚠️ 重要Salt一旦设置永远不可更改
# 用于数据去标识化哈希
# 开发环境Salt固定值便于重建环境
REDCAP_SALT=iit_dev_salt_2026_redcap_v15_do_not_change
# 生产环境Salt必须使用强随机值
# REDCAP_SALT=YOUR_STRONG_RANDOM_SALT_32_CHARS_MINIMUM_WITH_SPECIAL_CHARS
# ========== 时区配置 ==========
TZ=Asia/Shanghai
# ========== 开发工具配置 ==========
# phpMyAdmin仅开发环境
PMA_UPLOAD_LIMIT=50M
# ========== 注意事项 ==========
# 1. 复制此文件为.env后使用copy env.template .env
# 2. 不要将.env文件提交到Git已添加到.gitignore
# 3. 生产环境必须修改所有密码和Salt值
# 4. Salt值设置后永远不可更改
# 5. 生产环境密码建议使用32+字符的强密码
# 6. 可以使用以下命令生成随机密码:
# PowerShell: -join ((65..90) + (97..122) + (48..57) + (33..47) | Get-Random -Count 32 | % {[char]$_})
# Linux/Mac: openssl rand -base64 32