java JPA针对特定数据库用户执行查询
我正在使用Hibernate作为JPA开发一个JAX-RS(Resteasy)应用程序。后端数据库是Oracle。目前,我已经在WildFly中定义了一个Oracle数据源,并对数据源中配置的Oracle用户执行JPA查询
现在,我必须围绕web api实现安全性。为此,我将使用JWT令牌。我的Oracle数据库中的App_Users
表包含用户(请注意,这些用户实际上被定义为Oracle数据库用户)
这里有两个要求:
当用户在生成JWT之前发送其登录凭据时 对于用户,我必须根据oracle验证凭据 数据库
当用户发送post/put请求时,出于我想要执行的审计目的 针对发送数据的用户而不是 在WildFly数据源中配置的人员
我能用Hibernate JPA实现上述两个要求吗
# 1 楼答案
如果您想使用Wildfly提供的
DataSource
,我认为您无法动态更改每个事务的Oracle用户。这是JNDI提供的应用程序服务器配置的一部分我建议创建一个Oracle用户,该用户具有应用程序在运行时使用的最低权限集。然后,我将在应用程序本身而不是在数据库级别实现审计