2017-04-10 47 views
0

我正在开发使用Hibernate作为JPA的JAX-RS(Resteasy)应用程序。后端数据库是Oracle。目前,我已经在WildFly中定义了一个Oracle数据源,并且针对在数据源中配置的Oracle用户执行了JPA查询。JPA - 针对特定数据库用户执行查询

现在我必须围绕web API实现安全性。为此,我将使用JWT令牌。我的Oracle数据库中的App_Users表包含用户(请注意,这些用户实际上定义为Oracle数据库用户)。

有两个要求的位置:

  1. 当用户发送他的登录凭证,生成JWT 用户之前,我要验证针对甲骨文数据库 的凭据。

  2. 当用户发送后/放置请求,为审计目的,我想执行 对谁在发送数据的用户插入/更新查询不 一个谁在WildFly数据源配置。

我可以通过Hibernate JPA实现上述两个要求吗?

回答

1

如果你想使用Wildfly提供的DataSource我认为你不能动态更改每个事务的Oracle用户。这是为所提供的DataSource提供的JNDI的应用程序服务器配置的一部分。

我建议创建一个Oracle用户,在运行时为您的应用程序使用最小权限集。然后,我会在应用程序本身而不是数据库级别实施审计。

+0

问题是我不能在应用程序中添加审计功能,因为它已经在使用触发器的数据库级别实施。这是一个遗留数据库。 –