Jenkins 插件的权限配置

在Jenkins中开发一个左边菜单的插件(在Jenkins中管这种插件叫Action),照别人的例子写了一个保存文件版本信息到数据库的插件,还想要权限控制。

首先要定义权限,定义权限的核心代码是

@Extension
public class PersistPlugin extends Plugin {
    private static final PermissionGroup GROUP = 
          new PermissionGroup(PersistPlugin.class, Messages._plugin_security_groupName());

    public static final Permission RUN = new Permission(GROUP, Messages.plugin_security_run(), Messages._plugin_security_run(), Jenkins.ADMINISTER, PermissionScope.JENKINS);
}

 其中关于Permission和checkPermission,hasPermission的内部实现,暂时还不清楚。但定义好了上经权限好,需要在Configure Global Security是启用安全,禁用用户注册,在授权策略中启用安全矩阵

如果不打算分配插件的权限给用户,在安全矩阵中不要分配此权限给用户,同时也不要分配ADMINISTER权限给用户,否则用户还是有权限。在Jenkins的Permission中有层次关系,如果指明了上一层次的权限,则表明下级也拥有的权限。以下是上面用到的构造方法:

 

public Permission(PermissionGroup group, String name, Localizable description, Permission impliedBy, PermissionScope scope) {
        this(group,name,description,impliedBy,true,new PermissionScope[]{scope});
        assert scope!=null;
    }

 在上面这个构造方法中,有一个impliedBy的参数,表明此权限的上一层次。所以分配权限,编写插件时要注意到家一点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值