save code
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# 海洋项目管理系统 - 权限控制
|
||||
|
||||
## 目录权限说明
|
||||
|
||||
本项目采用严格的工作目录分离策略,各角色只能在指定目录中工作。
|
||||
|
||||
## 权限配置
|
||||
|
||||
### 后端程序员
|
||||
✅ **允许访问:**
|
||||
- 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. 记录违规情况
|
||||
|
||||
## 例外情况
|
||||
|
||||
只有在获得技术总监明确批准的情况下,才可以跨目录工作。
|
||||
Reference in New Issue
Block a user