gpt4 book ai didi

authentication - Jenkins : 'Trigger Builds Remotely' 带有 ? token 在使用矩阵授权策略时不起作用

转载 作者:行者123 更新时间:2023-12-03 11:17:17 25 4
gpt4 key购买 nike

我在 Jenkins 中触发构建时遇到问题启用身份验证并想知道是否有人有想法。

我已将 Global Security 配置为使用启用了“基于项目的矩阵授权策略”的 LDAP。 “匿名”用户拥有“作业 > 构建”权限,没有其他权限(特别是“匿名”用户没有“整体 > 读取”权限,因为我不希望每个人都能够查看工作 list 和其他一般信息)。

我希望自动化脚本能够使用“远程触发构建”功能触发构建,我在其中指定了 ?token=[token] URL 中的值和标准身份验证应该被绕过,只要 [token]值与我在作业的配置页面中设置的值相匹配。目标是不需要在请求中提供常规用户名/密码,而只需提供此特定作业的 token 。

文档似乎表明这应该有效:
https://wiki.jenkins-ci.org/display/JENKINS/Quick+and+Simple+Security

具体来说,我希望这个 HTTP 请求能够工作:

curl -i https://jenkinsHost/job/ProjectName/build?token=test

但我得到:
[~]$ curl -i https://jenkinsHost/job/ProjectName/build?token=test
HTTP/1.1 403 Forbidden
Date: Sat, 27 Apr 2013 23:17:03 GMT
Server: Winstone Servlet Engine v0.9.10
Content-Type: text/html;charset=UTF-8
Content-Length: 629
X-Powered-By: Servlet/2.5 (Winstone/0.9.10)
Set-Cookie: JSESSIONID.e9bc4765=e1f0a30b9f04b3740bae527a7822b2d5; Path=/; HttpOnly
Connection: close

<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2Fjob%2FProjectName%2Fbuild%3Ftoken%3Dtest'/>
<script>
window.location.replace('/login?from=%2Fjob%2FProjectName%2Fbuild%3Ftoken%3Dtest');</script>
</head>
<body style='background-color:white; color:white;'>
Authentication required
</body></html>

当我确实使用 API 身份验证时,请求有效:
curl --username "test_user:API_KEY" https://hostname/job/ProjectName/build?token=test

但同样,根据文档,我认为如果 ?token 存在并且与我配置的项目 token 匹配,它应该绕过全局身份验证。为什么这不起作用?我可以提供哪些其他信息/日志?

最佳答案

即使 Jenkins 禁止匿名读取访问,也有一个新插件允许您执行此操作:

Build Token Root Plugin

用:

$ curl 'http://jenkins/buildByToken/build?job=jobname&token=mytoken'
Scheduled.

同样与 buildWithParameters .

关于authentication - Jenkins : 'Trigger Builds Remotely' 带有 ? token 在使用矩阵授权策略时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com