# JenBranchRBAC (Jenkins Branch-level Role-Based Access Control)

# 项目简介

本项目基于JenkinsAPI模块，设计用户使用界面，用户使用自己的用户名密码登录，能够查看和构建其拥有权限的项目及分支情况

# 项目说明

## 管理页面
- 页面显示-管理页面

### 用户添加
- 使用sqlite3进行持久化
- 存储在sqlite3中的密码需要进行加密
- 注册用户名及密码
- 密码过期时间为6个月

### 用户查询
- 用户信息包括
  - 用户名
  - 明文密码
  - 权限信息
- 查询sqlite3获取用户信息
- 能够通过用户名模糊查询用户信息
- 能够查询所有的用户名及明文密码
- 支持一键导出用户名密码及分支

### 用户编辑
- 支持用户密码修改
- 支持用户权限修改
  - 权限修改调用[用户权限绑定]模块的功能

### 用户权限绑定
- 使用sqlite3进行持久化保存
- 通过[JenkinsAPI模块]获取全部项目全部分支信息
- 通过左右两侧列表的形式,选择赋予项目及分支权限
- 全部项目及分支 支持模糊查询

## 用户页面
- 页面显示-用户页面
- 用户使用账户名密码登录
  - 密码传递必须进行加密

### Jenkins项目及分支
- 能够查看,构建自己拥有权限的项目及分支
- 权限检验
  - 构建时需要检测是否符合权限信息

### Jenkins构建信息显示
- 能够实时查看获取jenkins特定分支构建信息
- 能够查看特定项目特定分支的历史构建信息

## 配置管理
- sqlite3的保存位置
- 前后端密码加密密钥
- jenkins服务器url
- jenkins访问的token等信息

## JenkinsAPI模块
- 假设API拥有最高的权限
- 能够调用JenkinsAPI
  - 获取全部项目及分支信息
  - 能够实时获取Jenkins分支的构建信息输出
  - 能够查询特定项目特定分支的历史构建信息

