81765

关于禅道“权限体系”提两条建议

回帖
回帖数 3
阅读数 4993
发表时间 2012-10-11 15:16:56
🐉
邓爽楼主

首先为了方便描述,我将禅道的“权限分组”由“角色”的概念代替。

 

1.关于简化权限配置的建议

每个角色都唯一绑定一个权限集合,这与目前禅道的做法一致。

角色跟角色可以相加,也可以相减,等价于权限集合的加减(当然减法对本身就没有的权限无效)

这是借鉴了Cordys的权限管理办法:基本的角色可以合成复合角色,基本角色中的权限改变也会通过内在的继承链影响复合角色,从而大幅度地减少了权限配置的工作。

为了第2条建议补充两点:

权限按项目范围分两种:包括提需求、管理用例等在内的项目内权限;以及包括项目添加、系统配置等在内的跨项目权限。

创立的角色也分两类:只包含“项目内权限”的项目角色;以及只包含“跨项目权限”的超级角色。即这两类角色的权限交集必须为空。

 

2.关于处理跨项目用户的建议

实际工作中,一个用户往往在不同的项目中扮演了不同的角色,有着不同的权限。而这种情况是目前“禅道”无法应对的。

所以应该在权限体系中加入“项目元素”。注意,由于存在跨项目工作的用户(如高层领导或禅道的系统管理员),因此引入“超级项目”的概念,将这类用户作为成员纳入。

然后为每个项目配置项目角色。比如有些单独是测试的项目,那么就没有开发人员的角色了。这里也可以理解为“配置项目的权限”。

后往每个项目角色上配置人员。从而形成一个“项目——项目角色——人员”的权限配置工作流。

反过来,我们也能描述出某个人员(用户)在哪些项目上拥有哪些角色。

同样的,对于跨项目的工作,则有“超级项目——超级角色——人员”的权限配置工作流。

当然这样做有个缺点,就是用户登入禅道后还要选择相应的项目入口才能进行工作。

举个例子:

我是项目A的测试员同时也是“禅道”的系统管理员,那么:

首先在“项目A——测试员角色”的名单上挂上我的用户名;

然后在“超级项目——禅道系统管理员角色(这是个超级角色)”的名单上也挂上我的用户名。

那么我登入禅道后则会有“项目A”和“超级项目”两个入口供选择,进入项目A后做测试员的工作,进入超级项目后就做禅道系统管理员的工作。

还有个思路是将“禅道”做成单项目管理模式,那么现有的权限系统就能充分满足企业级的使用要求。当一个项目完成后即将项目的相关数据及资料打包存档,然后清空系统内所有还在流转的数据,为下一个项目做准备。当然这种思路我是不太推荐的。

3个回复
🍟
春哥沙发
谢谢你的建议,不过管理的本质是信任和透明,权限设置的太细不好,没有计划修改。
2012-10-11 16:41:05 王春生 回帖
🐉
邓爽板凳

@wwccss

我提的只是建议,没有埋怨的成分。

王老师说权限设置不能太细,这点我充分同意,不过我的建议并没涉及到权限的细化(或者说原子化)设置。

信任和透明是良好管理的关键要素,但作为项目管理软件,很可能接触到企业的核心数据,这就决定了软件的技术架构要时刻准备好应对来自信息安全方面的现实挑战。权限体系则是系统安全性方面的关键一环。

 

比如有个客人要看我们公司A项目的需求数据和B项目的测试数据。那么在“禅道”里,我们就必须给他A、B两个项目的访问权和需求数据加测试数据的查看权(总不能每次客人查看都给ta现分配权限吧)。如此一来,这个人也能看到B项目的需求数据了,而B项目的需求数据很可能就是机密信息。这种情况又该怎么应对呢?(举个例子哈,请不要转成问题,谢谢 ~~)

2012-10-11 18:06:26 邓爽 回帖

关于第二点,的确不太方便,主要是各产品线人员不同,有的是兼顾多个产品,我们现在的做法是

1、全部产品和项目都设置成“使用自定义白名单”

2、设置公共用户组,比如Admin、QM、Guest、Manager

3、每个产品分别对应三个用户组(比如产品ABC,就创建ABC_PO、ABC_Dev、ABC_QA),

4、设置专人统一管理,把创建新产品的权限、后台权限统一到一人。

这样每个人只看到他自己参与的产品和项目,权限也比较清晰

2012-10-11 18:21:43 泥泥 回帖
联系我们
联系人
刘璐/高级客户经理
电话(微信)
18562550650
QQ号码
2845263372
联系邮箱
liulu@chandao.com
相关帖子
返回顶部
客服头像
刘璐
高级客户经理
客服微信
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。