# 海洋项目管理系统 - 权限控制 ## 目录权限说明 本项目采用严格的工作目录分离策略,各角色只能在指定目录中工作。 ## 权限配置 ### 后端程序员 ✅ **允许访问:** - backend/ ❌ **禁止访问:** - frontend/ - testing/ ### 前端程序员 ✅ **允许访问:** - frontend/ ❌ **禁止访问:** - backend/ - testing/ ### 测试工程师 ✅ **允许访问:** - testing/ ❌ **禁止访问:** - backend/ - frontend/ ## 实施方法 ### Git Hooks (建议) 使用pre-commit hook检查跨目录提交: ```bash #!/bin/bash # .git/hooks/pre-commit USER_ROLE=${USER_ROLE:-unknown} if [ "$USER_ROLE" = "backend" ]; then if git diff --cached --name-only | grep -E "^frontend/|^testing/"; then echo "❌ 错误: 后端程序员不能提交frontend/或testing/目录的文件" exit 1 fi fi if [ "$USER_ROLE" = "frontend" ]; then if git diff --cached --name-only | grep -E "^backend/|^testing/"; then echo "❌ 错误: 前端程序员不能提交backend/或testing/目录的文件" exit 1 fi fi if [ "$USER_ROLE" = "testing" ]; then if git diff --cached --name-only | grep -E "^backend/|^frontend/"; then echo "❌ 错误: 测试工程师不能提交backend/或frontend/目录的文件" exit 1 fi fi ``` ### 使用方法 ```bash export USER_ROLE=backend # 设置你的角色 git commit -m "提交信息" ``` ## 违规处理 如发现跨目录提交: 1. 技术总监将拒绝合并 2. 要求重新在正确目录中工作 3. 记录违规情况 ## 例外情况 只有在获得技术总监明确批准的情况下,才可以跨目录工作。