我正在尝试实现行级安全性,以便我们的应用程序可以实施更严格的访问控制.
我们正在研究的技术之一是Oracle的虚拟专用数据库,它通过基本上使用where子句谓词来扩充针对特定表的所有查询,从而允许行级安全性.由于我们处于Web环境中,因此我们需要在单个请求的线程内部在Oracle中设置特殊上下文.我们将连接池与服务帐户一起使用.
我开始研究Eclipse Link和Hibernate.Eclipse Link似乎有适合这个模型的事件.
这将涉及我们从hibernate迁移,这不是问题,但我们将为这些事件绑定到EL.
Oracle似乎暗示它们在Web Logic产品中的数据源级别实现.
上下文由WebLogic数据源代码设置和清除.
问题:使用一系列事件在DataSource级别执行此操作更合适.我应该最关注的事件或方法是什么?
补充问题:如何扩展连接池以使用一些自定义数据安全地初始化oracle上下文?我在Apache中挖掘,似乎扩展BasicDataSource并不能让我访问任何允许我在Spring完成时清理连接的东西.
我需要建立连接,并在退出/进入连接池时清理连接.我希望实现这么简单,没有人可以通过打破产品的微妙平衡来搞砸它.
- Specifically we are currently using Apache Commons DBCP Basic Data Source
Run Code Online (Sandbox Code Playgroud)
这将允许我们使用各种方式连接到数据库,并仍然执行我们的安全性.但我没有看到一个很好的例子或一组事件可以使用,并且滚动我自己的安全生命周期绝不是一个好主意.
我有一个关于Spring Security的快速问题.
我正在寻找一种解决方案,将安全性集成到我们的应用程序中,该应用程序提供SSO但HTTP基本也是如
我们系统的一个自动化部分只能支持基本身份验证,我们非常关注它.目前,我们的目标是将Kerberos用于我们的SSO解决方案,然后还支持基本(非常有限的使用).所有这些都将保护通过resteasy运行的RESTful Web服务.
有没有人在弹簧安全链接的Kerberos和BASIC解决方案中看到任何固有的不可能性?我们遇到了WildFly的问题,并且无法支持多种不同的身份验证方法,这些方法在他们的握手中使用HTTP响应代码.
感谢您的投入
我刚刚开始使用 Querydsl,并且非常享受它为与 JPA 交互带来的改进。
我剩下的一个问题是为什么你必须用 包装like参数%?
我是否配置不当?考虑到有一种方法starts/endsWith,我假设like(str)会自动包装我的str.
但令我惊讶的是,我需要这样做:"%" + str + "%"得到我所期望的。
这是为什么?有没有更好的办法?
java ×3
spring ×2
datasource ×1
jboss ×1
jpql ×1
oracle ×1
querydsl ×1
spring-data ×1
wildfly ×1