4

別のバックエンド サーバーを呼び出している実装された API を介してすべてのアクションを実行する Grails 2.2.0 を使用して Web アプリケーションを開発しています。これは、すべてのこと、認証および関連するすべてのことを含めて、API および対応するバックエンド サーバーを介して行われることを意味します。

認証やロール管理などにSpringSecurityまたはApache Shiroプラグインを使用したかったのですが、それらすべてに出くわしたのdomainは、私が意図していないデータベースに関連するクラスを使用していることです...高度にカスタマイズする必要なく、データベース接続なしでこれらのプラグインを使用する可能性はありますか? または、私が認識していない別のプラグインがあり、必要な機能を「手間のかからない」ものにすることができますか?

質問自体が十分に明確であることを願っています。それ以外の場合は、遠慮なく質問の詳細/より良い説明を求めてください:)

4

2 に答える 2

4

UserDetailsServiceSpring Security Coreプラグインは、デフォルトでドメインクラスとデータベースを使用しますが、カスタム実装を使用してユーザーとロールのデータのソースを簡単にカスタマイズできます。これに関するドキュメントには章全体があります。

プラグインのカスタマイズについても話し、カスタム認証プロバイダーの例を含めました。サンプルアプリとトークのビデオへのリンクがここにあります。

于 2013-01-28T08:55:05.643 に答える
1

Apache Shiroプラグインは、ドメインクラスまたはデータベースの使用を強制しません。認証と承認をバックエンドサーバーに委任するShiroレルム(grails-app / realmsに配置)を使用できます。これは次のようになります。

class BackendServerRealm {
   def authenticate(authToken) {
       // call backend authentication with credentials from authToken
       def user = backednService.authenticate(authToken.username, authToken.password)
       ...
       new SimpleAccount(user.username, user.password, "BackendServerRealm")
   }
}

Shiroは、認証と承認を実行するためのインフラストラクチャを提供するだけですが、独自の実装を非常に簡単にプラグインできます。

于 2013-01-28T08:23:12.353 に答える