使用自定义脚本从我的应用程序数据库中对Jenkins的用户进行身份验证

时间:2019-12-24 06:42:10

标签: authentication jenkins groovy

我有一个Web应用程序,该应用程序具有一个包含用户和密码的MySQL数据库。我有一个执行工作的Jenkins设置。

当我探索如何让Jenkins使用数据库中的用户名和密码时,看起来我可以使用自定义身份验证方法来验证用户并允许我登录。示例:https://serverfault.com/questions/839008/jenkins-auth-plugin-where-to-store-the-script-and-how-to-pass-parameters

当我尝试从groovy脚本中搜索如何与数据库通信时,找不到帮助文档或样本。我是Jenkins和groovy的新手。我不确定我是否需要编写一个Groovy脚本来验证用户身份,或者是否需要创建一个新的安全领域并编写一个新的Java插件来按照此处引用的示例进行验证:https://github.com/mig82/jenkins-security-example

请为我提供最佳实践,以及指向文档或示例代码的链接。

编辑 我已经在jenkins中尝试了下面的groovy脚本,但是在身份验证流程中仍然失败。

def env = System.getenv()
def username = env['U']
def password = env['P']
println "Authenticating user $username"
if (authenticate(username, password)) {
 System.exit 0
} else {
 System.exit 1
}
def authenticate(def username, def password) {
 def userIsAuthenticated = true
 // Authentication logic goes here
 return userIsAuthenticated
}

我在日志文件中没有收到任何错误,并且用户也没有登录到系统。

1 个答案:

答案 0 :(得分:0)

该插件已过时,无法正常工作。因此,我为Jenkins构建了自己的插件,以便更好地处理身份验证。

详细的实施步骤:https://dsaravanan.wordpress.com/2019/12/25/creating-a-new-security-realm-plugin-for-jenkins/

源代码:https://github.com/d-saravanan/jenkins-security-realm-plugin