Files
2026-01-25 12:47:29 +08:00

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 "提交信息"

违规处理

如发现跨目录提交:

  1. 技术总监将拒绝合并
  2. 要求重新在正确目录中工作
  3. 记录违规情况

例外情况

只有在获得技术总监明确批准的情况下,才可以跨目录工作。