我有一个数据库,还有几个需要使用它的应用程序(一个Ruby on Rails应用程序,默认情况下集成了数据库,以及一堆运行Java插件的Minecraft服务器)。现在,我正在使用我的Web应用程序的REST api来访问数据库。
所以:插件 - > api - > db - > api - >插件
我正在寻找一种方法让我的插件直接访问数据库,而不必先通过Web应用程序。
插件 - > db - >插件
如何允许外部应用程序访问我的数据库?如何确保只允许某些应用程序访问数据库? (另外:我应该这样做吗?)
答案 0 :(得分:1)
看看ActiveRecord如何连接到数据库,你会发现它只是使用相同的方式连接到Postgres(登录连接字符串或一组凭据等),同样的方法可以被任何其他应用程序使用。
基本上这意味着如果另一个应用程序知道:
...并且没有任何限制,例如阻止访问的防火墙规则,然后应用程序应能够直接与DB通信。 ActiveRecord基本上只是数据库之上的软件层,但它并不“拥有”或“控制”数据库。您的Rails应用程序在技术上是数据库服务器的客户端。