7

UserDetailsManagerインターフェースに興味があります。リファレンスガイドには記載されておらず、JavaDoc には次のように記載されています。

新しいユーザーを作成し、既存のユーザーを更新する機能を提供するUserDetailsS​​erviceの拡張 。

UserDetailsManagerインターフェースを実装する場合、独自の 5 つのメソッドと、それが拡張する UserDetailsS​​ervice から継承する 1 つのメソッドを実装する必要があります。

これらのメソッドは、createUser、updateUser、deleteUser、changePassword、userExists、および継承されたメソッド loadUserByUsername です。

Spring Security フレームワーク v2.0.4 には、 JdbcUserDetailsManagerLdapUserDetailsManagerの 2 つの UserDetailsManager の具体的な実装があります。

インターフェイスと具体的な実装の両方が Luke Taylor によって実装されています。

Spring Security フレームワークは具体的な実装を使用していないようです。

私の結論は、インターフェイスは、フレームワークのユーザーが使用するかどうかを決定できる便利なインターフェイスとして純粋に含まれているということです。おそらく、後でより具体的な実装が存在し、フレームワークのユーザーの作業の一部を奪うだろうという考えがあったのでしょうか?

私が探しているのは、より多くの情報です。情報が価値あるものであるためには、フレームワークの開発プロセスに詳しい人から直接的または間接的に (これが最も可能性が高いと思います) 提供されなければなりません。私が上で行ったように、他の誰でも推測することができます。

それが単なる便利なインターフェースである場合。リファレンス ガイドにも記載されていないインターフェイスやクラスはありますか? 開発中に役立つかもしれないので、知りたいです。

すべてのインターフェイスとクラスを調べて、フレームワーク内で実際に使用されているものを確認するのは少し面倒です。また、リフレクションが関係している場合はエラーが発生しやすくなる可能性があります (そのため、IDE が理解できない呼び出しが行われます)。

4

1 に答える 1

4

あなたの推測は正しいです。元の機能要求によると、 「これは非常に一般的に要求される機能であり、既存のインターフェイスとクラスを拡張することでかなり簡単に実現できるため、追加されました。 」

このインターフェイスを埋めるために別のプロジェクトを作成するという話がありましたが、それはまだ定着していません.

于 2009-04-09T16:38:01.160 に答える