cbm*_*ica 50 continuous-integration jenkins
我不知道为什么"登录用户可以做任何事情"意味着Jenkins很乐意允许未经过身份验证的用户查看项目详细信息并访问工件......无论如何,我需要知道如何让Jenkins允许登录用户访问任何东西并为未登录的用户隐藏一切.请帮忙吗?
Kev*_*cke 74
这可以通过Role-Strategy插件完成.
安装插件,添加一个名为"Anonymous"的新组并取消选中所有内容.然后,您要添加另一个名为"authenticated"的组并检查所有内容.将现有用户添加到该组.Jenkins会立即以这种方式提示您登录.
你可以使用https://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin
它允许指定定义角色并为用户分配角色,没有角色的用户甚至不会看到jenkins ui.
回答一个老问题,但我来这里搜索是因为我试图在 Docker 上自动启动 Jenkins 实例,并发现了同样的问题。
当提出问题时,这个选项很可能不可用。截至目前(v2.222.3,但不确定多久之前),事实证明您可以在不安装任何其他插件的情况下执行此操作。
导航到全局安全性(Jenkins > 管理 Jenkins > 全局安全性)
将授权部分更新为“登录用户可以执行任何操作”。
取消选中 允许匿名读取访问
任何未经身份验证的访问都将重定向到立即登录。
我要注意的是,如果您通过设置向导设置 Jenkins,则默认情况下会禁用匿名读取访问。如果您想要这种行为并且想要自动配置 jenkins,请继续阅读。
我的情况是,我想检查我的存储库,运行我的撰写文件,并准备好所有配置/用户/插件等。如果有兴趣的话,这里有更多详细信息。
简而言之:
Dockerfile
FROM jenkins/jenkins:lts-alpine
# Disable setup wizard since security.groovy creates our user
ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
COPY security.groovy /usr/share/jenkins/ref/init.groovy.d/security.groovy
Run Code Online (Sandbox Code Playgroud)
安全常规
#!groovy
import jenkins.model.*
import hudson.security.*
def instance = Jenkins.getInstance()
// Create Admin User
def hudsonRealm = new HudsonPrivateSecurityRealm(false)
hudsonRealm.createAccount("admin", "admin") // Dont do this. This is bad
instance.setSecurityRealm(hudsonRealm)
// Set Auth to Full Control Once Logged In and prevent read-only access
def strategy = new FullControlOnceLoggedInAuthorizationStrategy()
strategy.setAllowAnonymousRead(false)
instance.setAuthorizationStrategy(strategy)
instance.save()
Run Code Online (Sandbox Code Playgroud)
特别strategy.setAllowAnonymousRead(false)是需要什么
| 归档时间: |
|
| 查看次数: |
15168 次 |
| 最近记录: |