公司内网环境无法访问外网, 之前搭建gitlab都是手动创建用户, 建完直接强行修改用户密码, 用户正常登陆, 没有问题.
前几天搭建了一套新的gitlab, 采用了v4 api从另一个系统同步用户, 结果发现所有用户都无法登陆, 显示You have to confirm your account before continuing
官方专门写了一个页面来说明这类问题
直接说解决办法:
如果你是新写的api同步, 记得在创建用户的api里加上skip_confirmation=true字段
如果已经有了用户, 而用户因为没有email confirm无法登陆, 上面的官方页面有里有一个骚操作:
- 登陆进gitlab的console:
gitlab-rails console
- 直接改库:
User.where('LENGTH(confirmation_token) = 32').where(confirmed_at: nil).find_each { |u| u.confirmed_at = Time.now; u.save }