版本管理:Subversion Edge:角色与权限控制

在这里插入图片描述
这篇文章介绍一下Subverison Edge中内置的角色和权限控制方式和Edge所提供的页面操作功能。

环境和事前准备

Subversion Edge环境准备和仓库创建的操作可参看如下文章:

  • https://liumiaocn.blog.csdn.net/article/details/108212511

SVN的内置权限

关于SVN的hook使用,详细可参看如下文章:

  • https://blog.csdn.net/liumiaocn/article/details/81942161

Subversion Edge缺省内置如下六种角色
版本管理:Subversion Edge:角色与权限控制_第1张图片

角色名称 描述
ROLE_ADMIN 超级管理员/root (全量的权限)
ROLE_USER 基本用户权限,需要控制台访问
ROLE_ADMIN_SYSTEM 系统或服务器管理员
ROLE_ADMIN_REPO 仓库管理员
ROLE_ADMIN_HOOKS 仓库Hook脚本管理员
ROLE_ADMIN_USERS 用户账号管理员

可以看到Subversion将资源分成如下类别进行权限控制:

  • 仓库
  • 仓库的Hook脚本
  • 用户账号
  • 服务器

用户与角色

基于角色的权限控制,角色代表某一类的用户权限,可以将角色赋予某个用户,用户和角色是多vs多的关系:

  • 一个用户可以对应着多种角色
  • 一个角色也可以赋予多个用户

这个基本思路在Subversion Edge中也非常清晰,首先可以看到缺省状态下只有一个角色admin:
版本管理:Subversion Edge:角色与权限控制_第2张图片

用户操作

对于用户的操作,可以通过点击Users列表中的用户名的链接进行,比如此处点击admin就可以进行admin用户的信息修改了
版本管理:Subversion Edge:角色与权限控制_第3张图片
可以看到对用户信息的修改限于:

  • 用户的显示名称(Full Name)
  • 邮件地址
  • 描述信息
  • 用户密码

角色操作

从角色列表页面可以看到,并没有存在一个Create之类的按钮用于创建新的角色,换句话说Subversion Edge对于角色的使用仅限于这六种。
版本管理:Subversion Edge:角色与权限控制_第4张图片
我们点击ROLE_ADMIN角色看看能够进行哪些操作,可以看到可以进行Edit操作
版本管理:Subversion Edge:角色与权限控制_第5张图片
点击Edit按钮,可以看到只能够修改此角色的描述信息
版本管理:Subversion Edge:角色与权限控制_第6张图片
而且还很贴心地告诉你,因为你正在登录,你不能把你自己从这个角色中移除,不然操作就不能继续了云云,但是当多余一个用户被赋予此角色时,就可以进行设定了。

创建用户

点击用户列表页面的Create按钮,添加如下用户,注意添加用户的时候可以进行角色的赋予(Grant),页面通过选择复选框来实现,这里选择普通用户的角色。
版本管理:Subversion Edge:角色与权限控制_第7张图片
点击Create创建相关的用户信息如下所示
版本管理:Subversion Edge:角色与权限控制_第8张图片

用户和角色的关联

用户和角色的关联关系,可以通过修改复选框的设定来实现,比如此时可以通过在如下页面点击Edit按钮进行设定了
版本管理:Subversion Edge:角色与权限控制_第9张图片
可以看到,虽然我们还是不能需改admin用户和ROLE_USER角色的关联关系,但是已经可以修改新添加的用户和ROLE_USER角色的关联关系了。所以用户和角色的关联可以创建时指定,也可创建后修改。

用户删除

后续我们会提到Subversion Edge提供的API只有用户的添加,并不包含用户的删除,所以能够通过页面进行操作显得比较重要了,有两种方式可以进行用户的添加:

  • 方式1: 点击角色页面中的用户信息链接,比如下图中(Development User 001 (dev_user_001)的Development User 001 链接)

可以看到在用户的信息显示页面有delete信息,但是批量删除就比较麻烦了,目前看起来只能一个一个删除了。
版本管理:Subversion Edge:角色与权限控制_第10张图片

  • 方式2: 直接使用相应链接跳到用户页面(http://localhost:3343/csvn/user/show/2),此种方式的前提是知道用户的id,比如此用户的id为2

你可能感兴趣的:(Subversion,Edge,#,版本管理,版本管理,Subversion,Edge,角色,权限)