繁体   English   中英

Ruby Rails:将线程中的会话信息传递给Oracle数据库连接

[英]Ruby Rails: passing session info in a thread to a Oracle db connection

我们的应用程序在会话中保留一个用户ID,我们需要将该用户ID传递给oracle连接,以便可以使用每个用户操作将用户ID登录到oracle中。 这需要根据请求完成。 我们正在使用的OCI8 gem具有我们可以设置的client_identifier属性。 我们只需要知道如何以及在哪里。

我们是否可以在应用程序控制器中的方法(在before_filter中触发)中访问线程数据库连接,并且如果这样做,该连接将公开其适配器的方法和/或属性? 这些属性会在随后的ping或sql操作中传递吗?

像这样:

ActiveRecord :: Base.connection.client_identifier =会话[:user]

也许?

谢谢

看起来我们需要获取原始连接,这使我们能够在应用程序控制器中的before过滤器中设置客户端ID。 有点像这样:

ActiveRecord :: Base.connection.raw_connection.client_identifier = user_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM