Authentication Modules(验证模块)
在 TeamCity 中有两种类型的 身份验证模块:
凭证认证模块 使用登录页面中指定的登录名/密码对来验证用户。
HTTP 身份验证模块 使用某个 HTTP 请求中的信息验证用户。
您可以同时启用多个 凭据验证模块和多个 HTTP 验证模块。
在尝试通过登录表单进行登录时,TeamCity 会询问所有可用的 凭据认证模块 ,并按照在设置中指定的顺序;第一个能够进行用户认证的模块就 可以对其进行认证。 对于任何 HTTP 请求,如果尚无经过身份验证的用户,TeamCity 将会询问所有启用的 HTTP 身份验证模块 ,并按照他们指定的顺序;第一个能够验证用户的,就对他们进行身份验证(如果没有 HTTP 身份验证模块 能够验证指定 HTTP 请求的用户,TeamCity 会将用户重定向至登录页面)。
支持的凭据身份验证模块:
内置 (跨平台):用户及其密码由 TeamCity 管理。 新用户是由 TeamCity 管理员在管理区域添加的,或者如果管理员允许首次登录时的用户注册,他们可以自己注册。
Microsoft Windows 域 (跨平台):所有可以登录运行 TeamCity 服务器的计算机的 NT 域用户,也可以使用相同的凭据登录 TeamCity。 也就是说,要登录 TeamCity,用户需要提供 DOMAIN\用户名 对及其域密码。
LDAP 服务器 (跨平台):通过直接使用登录表单中输入的凭据登录 LDAP 来进行身份验证。
基于令牌的身份验证 (跨平台):通过 TeamCity 管理的个人访问令牌进行身份验证。 这使得在使用登录表单时可以选择使用登录/访问令牌进行身份验证,而不是使用登录/密码,同时还支持基于令牌的 HTTP 身份验证。
支持的 HTTP 身份验证模块:
基本 HTTP (跨平台):允许访问某些 Web 服务器页面并从各种脚本执行操作。
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 身份验证 访问服务器的详细信息。