0

loadUserByUsername メソッドで 2 つの文字列パラメーターを受け取る必要があります。私は春のセキュリティ認証を使用したくありません。これには、パスワードも必要とする独自の実装があるためです (統合システム)。

同じクラスで同じ名前の loadUserByUsername(String username, String password) で別のメソッドを作成し、代わりにそのメソッドを別のメソッドを呼び出すことは可能ですか?

4

1 に答える 1

1

この要件はわかりませんが、問題ありませんUserDetailsService.loadUserByUsername(String)。このメソッドが呼び出された時点で、ユーザーはすでに認証されているため、パスワードはもう必要ありません。したがって、その時点でパスワードが必要な場合は、何か間違ったことをしている可能性がかなりあります。

ユーザー名とパスワードに基づいて独自の認証メカニズムを実装する場合は、独自のAuthenticationProvider.

<security:authentication-manager alias="authenticationManager">
  <security:authentication-provider ref="yourProvider" />
</security:authentication-manager>

<bean id="yourProvider" class="package.yourProviderClass">
  <!-- I suppose you need this, too -->
  <property name="userDetailsService" ref="yourUserDetailsService" />
</bean>

既存の実装を見て、必要なものに最も近いものを見つけてください。

ここに画像の説明を入力

于 2013-01-07T18:45:20.520 に答える