Linux Bugzilla限制错误状态

Linux Bugzilla限制错误状态,linux,bugzilla,Linux,Bugzilla,我们需要为bugzilla中的一个部署提供解决方案 我们的场景示例如下所示: 组:员工、学生 项目/产品缺陷:projectA、projectB 我们需要知道有没有办法: 1) 限制用户组访问项目 Example= Students cannot access or view bugs in projectA. 2) 限制其他用户组确认或更改错误状态 Example= Students cannot change the bug status of projectB from NEW to

我们需要为bugzilla中的一个部署提供解决方案

我们的场景示例如下所示:

组:员工、学生

项目/产品缺陷:projectA、projectB

我们需要知道有没有办法:

1) 限制用户组访问项目

Example= Students cannot access or view bugs in projectA.
2) 限制其他用户组确认或更改错误状态

Example= Students cannot change the bug status of projectB  from  NEW to RESOLVED
3) 组的某些成员只能提交一个bug,但不能关闭该文件

Example= StaffA can only file a bug in ProjectA but cannot closed it whereas StaffB can file the bug and also can close the bug
从我的search/Google来看,没有任何文档可以解释bugzilla中的这个功能。但也许我忽略了。 我们当前的bugzilla版本是3.2rc1


提前感谢。

您没有说您使用的是哪个版本的Bugzilla,所以URL是最新版本的4.2。然而,同样的概念也适用于最新版本。例如,我们使用3.6并控制某些用户是否可以用我下面描述的相同方式更改某些内容

1) Bugzilla的组安全功能是限制不在组中的用户看到bug:

您案例中的一个问题是,组安全性控制积极访问,而不是消极访问。也就是说,它允许指定哪些组可以查看产品中的bug,而不是不能查看的组。要防止
学生
的成员查看
项目a
中的bug,您需要有一个可以访问
项目a
的组,并设计一种方法将
学生
中的用户排除在该组之外

或者,您可以将一些自定义代码放入
Bugzilla::User::can_see_bug
Bugzilla::User::visible_bugs
,或
Bugzilla::bug::check_is_visible
,以实施更严格的控制,使组
学生中的用户可以永远看不到
项目中的bug

2) 您可以在允许更改时使用很多粒度:

我们是这样做的。我们有一组用户,我们希望向他们授予只读访问权限,除非我们明确允许读写访问。为此,我们有一个名为
allspecialusers
的组,这些用户根据电子邮件地址属于该组。我们还有另一个名为
approved_specialusers
的组,其中一些用户是手动添加的

因此,在我们的
Bugzilla::Bug::check\u can\u change\u字段中,我们有如下代码:


通过检查bug是否在product
projectB
中,以及试图进行更改的用户是否在group
students中,您可以做任何您想做的事情。嗨,非常感谢您的回复。你确实准确地指出了我的问题。无论如何,我已经更新了上面的另一个问题。如果你能帮助我,我真的很感激。
if ($user->in_group('specialusers') &&
    !$user->in_group('approved_specialusers')) {
    $$PrivilegesRequired = 3;
    return 0;
}