1.6 KiB
1.6 KiB
海洋项目管理系统 - 权限控制
目录权限说明
本项目采用严格的工作目录分离策略,各角色只能在指定目录中工作。
权限配置
后端程序员
✅ 允许访问:
- backend/
❌ 禁止访问:
- frontend/
- testing/
前端程序员
✅ 允许访问:
- frontend/
❌ 禁止访问:
- backend/
- testing/
测试工程师
✅ 允许访问:
- testing/
❌ 禁止访问:
- backend/
- frontend/
实施方法
Git Hooks (建议)
使用pre-commit hook检查跨目录提交:
#!/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
使用方法
export USER_ROLE=backend # 设置你的角色
git commit -m "提交信息"
违规处理
如发现跨目录提交:
- 技术总监将拒绝合并
- 要求重新在正确目录中工作
- 记录违规情况
例外情况
只有在获得技术总监明确批准的情况下,才可以跨目录工作。