Spring security 修改Pentaho的UserDetails服务

Spring security 修改Pentaho的UserDetails服务,spring-security,Spring Security,我需要在loadUserByUsername方法中接收两个字符串参数。我不想使用spring安全认证,因为这是一个我自己的实现,也需要密码(它是一个集成系统) 是否可以在同一个类中创建另一个名称为loadUserByUsername(字符串用户名、字符串密码)的方法,并调用该方法而不是另一个方法 我不理解这个要求,但是UserDetailsService.loadUserByUsername(String)很好。调用此方法时,用户已通过身份验证,因此不再需要密码。所以,如果你在那一点上需要密码,

我需要在loadUserByUsername方法中接收两个字符串参数。我不想使用spring安全认证,因为这是一个我自己的实现,也需要密码(它是一个集成系统)


是否可以在同一个类中创建另一个名称为loadUserByUsername(字符串用户名、字符串密码)的方法,并调用该方法而不是另一个方法

我不理解这个要求,但是
UserDetailsService.loadUserByUsername(String)
很好。调用此方法时,用户已通过身份验证,因此不再需要密码。所以,如果你在那一点上需要密码,你很有可能做错了什么

如果您想基于用户名和密码实现自己的身份验证机制,则需要提供自己的
身份验证提供程序

<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>

看看现有的实现,找到最能满足您需求的实现


您为什么需要它?看起来您想要验证用户身份,但使用了错误的SpringSecurity类。我将尝试您的建议:创建我自己的AuthenticationProvider。这看起来是更好的方法。谢谢