0

複数の地域に分散された複数のデータソースを使用しています。各データソースは、ロール、トークンなどのセキュリティ関連データを含む、地域のすべてのユーザーに関連するすべてのデータを処理することを目的としています。セキュリティ関連のすべての情報を 1 つのデータソースに含めることはできません。

Grails の Spring セキュリティ レスト プラグインはこの設定をサポートしていますか? 私が理解していることから、常にすべての認証関連テーブルのデフォルトのデータソースを調べ、すべてのトークンをデフォルトのデータソースだけに保存​​します。

誰かがこれを確認できますか?プラグインが複数のデータソースをサポートしている場合、どのように機能させるのですか?

私たちの環境: Grails 2.4.4 Spring security rest plugin 1.5.3 Spring security core 2.0-RC4 Postgresql 9.5

4

1 に答える 1

0

Grails は複数のデータソースをサポートしています:

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

Spring セキュリティ コアを調整するための比較的簡単なオプションの 1 つは、代わりの userDetailsS​​ervice を提供することです。(メソッド: loadUserByUsername(String username)をカスタマイズしてそれを行うことができます) これは、ユーザーの詳細を取得するために DAOAuthenticationProvider によって使用されています。

その時点で、アクセスするデータソースを決定するために、おそらくリクエストからさらに多くのパラメーターにアクセスする必要があります。したがって、(grails 2.xx の場合) を使用して要求オブジェクトを取得できます。

GrailsWebRequest webUtils = WebUtils.retrieveGrailsWebRequest()
def request = webUtils.getCurrentRequest()
于 2016-07-02T14:23:59.437 に答える