You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置TeamCity内置认证的密码复杂度要求?

TeamCity内置认证设置密码最小长度方案

针对你使用的TeamCity Professional 2022.10.3(Windows Server部署),内置认证本身确实没有提供直接的UI或配置项来设置密码最小长度,但可以通过服务器端Groovy脚本钩子实现该需求,无需切换认证提供商,具体操作如下:

实现步骤

  1. 定位TeamCity数据目录
    在Windows Server上,默认数据目录为C:\TeamCity\data,如果自定义过路径,需对应调整。

  2. 创建脚本目录
    在data\config下新建server-side\users目录结构(如果不存在则手动创建)。

  3. 编写密码验证脚本
    创建password-validator.groovy文件,内容如下:

    import jetbrains.buildServer.serverSide.auth.ServerPrincipal
    import jetbrains.buildServer.users.SUser
    import org.springframework.context.ApplicationListener
    import jetbrains.buildServer.users.UserCreatedEvent
    import jetbrains.buildServer.users.UserUpdatedEvent
    
    class PasswordLengthValidator implements ApplicationListener<UserCreatedEvent>, ApplicationListener<UserUpdatedEvent> {
        // 可自行修改最小长度值
        private static final int MIN_PASSWORD_LENGTH = 8
    
        void onApplicationEvent(UserCreatedEvent event) {
            checkPasswordLength(event.getUser())
        }
    
        void onApplicationEvent(UserUpdatedEvent event) {
            // 仅在密码修改时触发验证
            if (event.isPasswordChanged()) {
                checkPasswordLength(event.getUser())
            }
        }
    
        private void checkPasswordLength(SUser user) {
            def password = user.getPassword()
            if (password && password.length() < MIN_PASSWORD_LENGTH) {
                throw new IllegalArgumentException("密码长度不能小于${MIN_PASSWORD_LENGTH}位,请重新设置")
            }
        }
    }
    
    return new PasswordLengthValidator()
    

    你可以根据需求修改MIN_PASSWORD_LENGTH的值。

  4. 重启TeamCity服务器
    保存脚本后,重启TeamCity服务,脚本会自动加载生效。

验证效果

  • 新建用户时,若设置的密码长度小于指定值,会直接抛出错误,阻止用户创建。
  • 已有用户修改密码时,不符合长度要求也会触发错误提示,无法完成修改。

备选方案

如果上述脚本方式无法满足你的需求(比如需要更复杂的密码复杂度验证),可以查找TeamCity插件市场的第三方密码管理插件,但需注意确认插件与2022.10.3版本的兼容性。

内容的提问来源于stack exchange,提问作者hamish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 20:22:12