如何允许外部应用程序直接连接到我的Ruby on Rails集成的PostgreSQL数据库?

时间:2016-07-02 19:06:56

标签: ruby postgresql ruby-on-rails-3

我有一个数据库,还有几个需要使用它的应用程序(一个Ruby on Rails应用程序,默认情况下集成了数据库,以及一堆运行Java插件的Minecraft服务器)。现在,我正在使用我的Web应用程序的REST api来访问数据库。

所以:插件 - > api - > db - > api - >插件

我正在寻找一种方法让我的插件直接访问数据库,而不必先通过Web应用程序。

插件 - > db - >插件

如何允许外部应用程序访问我的数据库?如何确保只允许某些应用程序访问数据库? (另外:我应该这样做吗?)

1 个答案:

答案 0 :(得分:1)

看看ActiveRecord如何连接到数据库,你会发现它只是使用相同的方式连接到Postgres(登录连接字符串或一组凭据等),同样的方法可以被任何其他应用程序使用。

基本上这意味着如果另一个应用程序知道:

  • 托管数据库的URL或IP地址
  • 用户名
  • 密码
  • 端口

...并且没有任何限制,例如阻止访问的防火墙规则,然后应用程序能够直接与DB通信。 ActiveRecord基本上只是数据库之上的软件层,但它并不“拥有”或“控制”数据库。您的Rails应用程序在技术上是数据库服务器的客户端。