Authentication Modules(验证模块)
在 TeamCity 中有两种类型的 身份验证模块:
凭证认证模块通过在登录页面上指定的登录名 / 密码对进行用户认证。
HTTP 身份验证模块 使用来自特定 HTTP 请求的信息对用户进行身份验证。
您可以同时启用多个 凭证认证模块 和多个 HTTP 身份验证模块。
在尝试通过登录表单进行登录时,TeamCity 会询问所有可用的 凭据认证模块,并按照在设置中指定的顺序;第一个能够进行用户认证的模块就会对其进行认证。 对于任何 HTTP 请求,如果尚无经过身份验证的用户,TeamCity 将会询问所有启用的 HTTP 身份验证模块,并按照他们指定的顺序;第一个能够验证用户的,就对他们进行身份验证(如果没有 HTTP 身份验证模块 能够验证指定 HTTP 请求的用户,TeamCity 会将用户重定向至登录页面)。
支持的凭据认证模块:
内置(跨平台):用户及其密码由 TeamCity 维护。 新用户是由 TeamCity 管理员在管理区域添加的,或者如果管理员允许首次登录时的用户注册,他们可以自己注册。
Microsoft Windows 域(跨平台):所有可以登录运行 TeamCity 服务器的 NT 域用户,也可以使用相同的凭证登录 TeamCity。 也就是说,要登录到 TeamCity,用户应提供 DOMAIN\username 对并提供他们的域密码。
LDAP 服务器(跨平台):通过直接登录 LDAP,使用登录表单中输入的凭据进行身份验证。
基于令牌的验证(跨平台):通过 TeamCity 维护的个人访问令牌进行的验证。 这使得在使用登录表单时可以选择使用登录/访问令牌进行身份验证,而不是使用登录/密码,同时还支持基于令牌的 HTTP 身份验证。
支持的 HTTP 认证模块:
Basic HTTP (跨平台):允许从各种脚本访问某些网页服务器页面并执行操作。
NTLM HTTP (仅适用于 Windows 服务器):允许使用 NTLM HTTP 协议进行登录。 根据客户的网页浏览器和操作系统,可以提供无需手动输入用户凭证的登录能力。
GitHub.com 和 GitHub Enterprise: 允许使用现有的 GitHub 用户帐户进行身份验证。 允许限制对 GitHub organization 成员的访问权限。
GitLab.com 和 GitLab CE/EE:允许使用现有的 GitLab.com 帐户进行身份验证。 允许限制对 GitLab group 成员的访问权限。
Bitbucket Cloud:允许使用现有的 Bitbucket Cloud 帐户进行身份验证。
JetBrains Space:允许使用现有的 JetBrains Space 帐户进行身份验证。
Azure DevOps:允许通过 OAuth 2.0 使用现有的 Azure AD 帐户进行身份验证。
Google:允许通过 OAuth 2.0 协议使用现有的 Google 帐户进行身份验证。
请参照 配置认证设置 进行特定的 认证模块 的配置。 请参见 通过 HTTP 访问服务器 页面,了解如何在您的脚本中使用 基于令牌的身份验证 或 基本的 HTTP 身份验证 访问服务器的详细信息。