用于共享服务器上的JPA的JBoss AS7 JNDI数据源

时间:2014-04-22 14:34:21

标签: java-ee jpa jboss jndi

问:如何阻止其他开发人员在standalone.xml中的数据源中使用我的数据库凭据设置?

我试图在JBoss上为内部网/内部应用程序设置JPA。

看起来标准是standalone.xml中的JNDI,使用Web控制台或cli配置。使用在服务器上配置的数据源是有意义的,因为作为我的持久性单元中的开发人员,我只需要引用一个名称,比如" EmployeeDb"然后在每个JBoss实例上设置适当的URL和凭据。这使得在DEV / STAGE / PROD上部署相同的WAR而无需修改。使用我们的CM进程,我只能修改驻留在DEV上的代码。

但是,这需要JBoss管理员(承包商)知道我的数据库凭据。

其次,这个全球数据源不适用于其他开发者的应用程序吗?如何阻止其他开发人员使用我的数据源?如果连接到敏感或特权公司数据的数据源是在standalone.xml中设置的,那么它是否可供其他开发人员使用,他们可以(我猜他们必须猜测我的DS的名称)查询敏感数据。此外,管理JBoss的承包商可以访问这些敏感数据。我知道standalone.xml中的密码可以加密,但其他部署的应用程序是否仍然无法访问数据源?

其他开发人员/公司如何在这种类型的环境中处理JPA,其中有多名员工在DEV上开发内部应用程序并由CM组部署到STAGE / PROD服务器?

1 个答案:

答案 0 :(得分:0)

我的理解是你不能。如果您不信任您正在部署的代码,那么请不要部署它。