这篇文章介绍一下Subverison Edge中内置的角色和权限控制方式和Edge所提供的页面操作功能。
Subversion Edge环境准备和仓库创建的操作可参看如下文章:
- https://liumiaocn.blog.csdn.net/article/details/108212511
关于SVN的hook使用,详细可参看如下文章:
- https://blog.csdn.net/liumiaocn/article/details/81942161
Subversion Edge缺省内置如下六种角色
可以看到Subversion将资源分成如下类别进行权限控制:
- 仓库
- 仓库的Hook脚本
- 用户账号
- 服务器
基于角色的权限控制,角色代表某一类的用户权限,可以将角色赋予某个用户,用户和角色是多vs多的关系:
- 一个用户可以对应着多种角色
- 一个角色也可以赋予多个用户
这个基本思路在Subversion Edge中也非常清晰,首先可以看到缺省状态下只有一个角色admin:
对于用户的操作,可以通过点击Users列表中的用户名的链接进行,比如此处点击admin就可以进行admin用户的信息修改了
可以看到对用户信息的修改限于:
- 用户的显示名称(Full Name)
- 邮件地址
- 描述信息
- 用户密码
从角色列表页面可以看到,并没有存在一个Create之类的按钮用于创建新的角色,换句话说Subversion Edge对于角色的使用仅限于这六种。
我们点击ROLE_ADMIN角色看看能够进行哪些操作,可以看到可以进行Edit操作
点击Edit按钮,可以看到只能够修改此角色的描述信息
而且还很贴心地告诉你,因为你正在登录,你不能把你自己从这个角色中移除,不然操作就不能继续了云云,但是当多余一个用户被赋予此角色时,就可以进行设定了。
点击用户列表页面的Create按钮,添加如下用户,注意添加用户的时候可以进行角色的赋予(Grant),页面通过选择复选框来实现,这里选择普通用户的角色。
点击Create创建相关的用户信息如下所示
用户和角色的关联关系,可以通过修改复选框的设定来实现,比如此时可以通过在如下页面点击Edit按钮进行设定了
可以看到,虽然我们还是不能需改admin用户和ROLE_USER角色的关联关系,但是已经可以修改新添加的用户和ROLE_USER角色的关联关系了。所以用户和角色的关联可以创建时指定,也可创建后修改。
后续我们会提到Subversion Edge提供的API只有用户的添加,并不包含用户的删除,所以能够通过页面进行操作显得比较重要了,有两种方式可以进行用户的添加:
- 方式1: 点击角色页面中的用户信息链接,比如下图中(Development User 001 (dev_user_001)的Development User 001 链接)
可以看到在用户的信息显示页面有delete信息,但是批量删除就比较麻烦了,目前看起来只能一个一个删除了。
- 方式2: 直接使用相应链接跳到用户页面(http://localhost:3343/csvn/user/show/2),此种方式的前提是知道用户的id,比如此用户的id为2