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

寻求适配Redmine 5.0.5版本的Google reCAPTCHA插件

适配Redmine 5.0.5的Google reCAPTCHA解决方案

一、修改旧插件适配Redmine 5.0.5

如果之前使用的旧reCAPTCHA插件仅因依赖或钩子不兼容无法使用,可手动修改代码完成适配:

  • 更新依赖与版本声明:打开插件的Gemfile,将旧的reCAPTCHA相关依赖替换为最新版的recaptcha gem;同时在init.rb中更新Redmine版本兼容要求,把requires_redmine :version_or_higher => '3.4.6'改为requires_redmine :version_or_higher => '5.0.0'
  • 替换弃用页面钩子:Redmine 5.x调整了部分页面钩子,找到插件中注册登录/注册页面钩子的代码,将旧钩子(如:login_form_bottom)替换为5.x支持的:account_login_bottom或:account_register_bottom
  • 升级API调用逻辑:若插件使用了已弃用的reCAPTCHA v1 API,全部替换为v2或v3的API调用方式,确保验证请求地址、参数符合Google当前规范

二、无插件原生集成方案

不想修改插件的话,可直接在Redmine中手动集成reCAPTCHA:

  1. 添加密钥配置:在Redmine的config/configuration.yml中添加reCAPTCHA密钥:
    recaptcha_site_key: "你的site key"
    recaptcha_secret_key: "你的secret key"
    
  2. 修改登录视图:编辑app/views/account/login.html.erb,在登录表单内添加reCAPTCHA的HTML代码(以v2为例):
    <div class="g-recaptcha" data-sitekey="<%= Setting['recaptcha_site_key'] %>"></div>
    
  3. 添加验证逻辑:在app/controllers/account_controller.rb的login方法中,加入reCAPTCHA验证步骤:
    unless verify_recaptcha
      flash[:error] = "reCAPTCHA验证失败,请重试"
      redirect_to login_path
      return
    end
    
  4. 引入官方脚本:在Redmine全局布局文件app/views/layouts/base.html.erb的<head>标签中添加Google的reCAPTCHA脚本:
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:50:09