【问题标题】:Bugzilla restrict bug statusBugzilla 限制错误状态
【发布时间】:2012-11-01 02:23:57
【问题描述】:

我们需要一个解决方案来解决我们在 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

根据我的搜索/谷歌,没有可用的文档可以解释 bugzilla 中的此功能。但也许我以某种方式忽略了。 我们当前的 bugzilla 版本是 3.2rc1

提前致谢。

【问题讨论】:

    标签: linux bugzilla


    【解决方案1】:

    您并没有真正说明您使用的是哪个版本的 Bugzilla,因此这些 URL 是针对最新版本 4.2 的。但是,相同的概念适用于最新版本。例如,我们使用 3.6 并控制某些用户是否可以按照我在下面描述的相同方式更改某些内容。

    1) 限制不在组中的用户查看错误是 Bugzilla 的组安全功能:

    http://www.bugzilla.org/docs/4.2/en/html/groups.html

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

    或者,您可以将一些自定义代码放入Bugzilla::User::can_see_bugBugzilla::User::visible_bugsBugzilla::Bug::check_is_visible,以加强控制students 组中的用户永远不会看到@ 中的错误987654331@

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

    http://www.bugzilla.org/docs/4.2/en/html/cust-change-permissions.html

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

    所以,在我们的Bugzilla::Bug::check_can_change_field 中,我们有如下代码:

    if ($user->in_group('specialusers') &&
        !$user->in_group('approved_specialusers')) {
        $$PrivilegesRequired = 3;
        return 0;
    }
    

    您可以通过检查错误是否在产品projectB 中以及尝试进行更改的用户在组students 中来做您想做的事

    【讨论】:

    • 您好,非常感谢您的回复。你真的准确地指出了我的问题。无论如何我已经更新了上面的另一个问题。如果你能帮助我,我真的很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多