【问题标题】:spring security rest plugin for grails and multiple datasources用于grails和多个数据源的spring security rest插件
【发布时间】:2016-11-02 16:23:40
【问题描述】:

我们正在使用跨地区分布的多个数据源。每个数据源旨在处理与该区域的所有用户相关的所有数据,包括与安全相关的数据,例如角色、令牌等。我不能在一个数据源中拥有所有与安全相关的信息。

Grails 的 Spring security rest 插件是否支持这种设置?据我了解,它总是查看所有与身份验证相关的表的默认数据源,并将所有令牌单独存储在默认数据源中。

有人可以证实这一点吗?如果插件支持多个数据源,如何使其工作?

我们的环境: 圣杯 2.4.4 Spring 安全休息插件 1.5.3 Spring 安全核心 2.0-RC4 PostgreSQL 9.5

【问题讨论】:

    标签: grails spring-security spring-security-rest


    【解决方案1】:

    Grails 支持多种数据源:

    http://docs.grails.org/2.4.4/guide/single.html#multipleDatasources

    为了调整 Spring 安全核心,一个相对简单的选择是提供一个替代的 userDetailsS​​ervice。 (方法:loadUserByUsername(String username) 可以定制) DAOAuthenticationProvider 正在使用它来获取用户的详细信息。

    此时,您可能需要从请求中访问更多参数,以确定要访问的数据源。因此,可以使用(对于 grails 2.x.x)获取请求对象:

    GrailsWebRequest webUtils = WebUtils.retrieveGrailsWebRequest()
    def request = webUtils.getCurrentRequest()
    

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 2015-06-18
      • 2015-04-09
      • 2014-12-06
      • 2017-09-16
      • 2014-11-06
      • 1970-01-01
      • 2011-11-23
      • 2014-12-03
      相关资源
      最近更新 更多