在用户登录时动态更改数据源

时间:2013-05-15 00:19:01

标签: spring security thread-safety ejb

我有一个项目有以下要求:

  1. 允许用户使用符合条件的不同架构登录同一Web应用程序;
  2. 根据规则动态路由数据源 - 例如,公司A中的用户应访问模式A,公司B中的用户应访问模式B;
  3. 对用户进行身份验证的业务逻辑应该位于业务组件 - EJB中,因为可以添加新的应用程序,并且此逻辑必须位于Web应用程序之外。
  4. 我读过有关使用Dynamic Data Source Routing的内容。 CustomerContextHolder的字段为ThreadLocalThreadLocal是否保证用户A将按照我的标准访问架构A?代码是否是线程安全的?

1 个答案:

答案 0 :(得分:0)

我理解的方式是你需要春天的多租户和数据源。

或许您已经看过弹簧延伸可能会有所帮助

https://github.com/mariofts/spring-multitenancy