使用request.env内部Rails中间件

问题描述

| 我正在尝试在Rails中间件中使用Passenger的request变量,以便可以将信息发送到OmniAuth策略:
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :casmate,{
    :setup => true,:dn    => request.env[\'SSL_CLIENT_S_DN\']
  }
end
但在中间件中无法识别“请求”。有没有办法在中间件中执行此操作,还是有办法在控制器中调用中间件并传递相同的符号(:casmate,:setup,:dn)? 谢谢你的帮助。     

解决方法

        我不知道如何在中间件初始化程序中使用request.env变量,但是如果您要发送任何信息,则可以在选项哈希中通过以下方式进行发送:
request.env[\'omniauth.strategy\'].options[:dn] = request.env[\'SSL_CLIENT_S_DN\']
在您的控制器内部。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...