我在Spring Security的配置文件已经设置了这样的配置
<authentication-provider user-service-ref="ywUserDetailsService">
    <password-encoder ref="passwordEncoder">
<salt-source user-property="username"/>
    </password-encoder>
</authentication-provider>
<b:bean id="passwordEncoder" class="org.springframework.security.providers.encoding.ShaPasswordEncoder"></b:bean>在ywUserDetailsService的bean的loadUserByUsername方法里
return org.springframework.security.userdetails.User中的User的Password值应该如何填写。
我目前是从数据库里面取,我都检查过我输入的的确是111111,但是老是密码出错!
用户名:admin,   密码:111111希望大家能指点下我,谢谢!

解决方案 »

  1.   

    你数据库中保存的是什么?不会还是111111吧你用的这个加密是SHA的算法,数据库中应该保存的是过密后的值
      

  2.   

    大小写要统一   你查看下java代码中加密的跟从数据库里查出来的数据的大小写是否一致
      

  3.   

    对了 <b:bean id="passwordEncoder" class="org.springframework.security.providers.encoding.ShaPasswordEncoder"> </b:bean>看到这你配置的是SHA算法  但不知道你数据库里保存的值是否是用SHA算法加密的  如果保存的时候用的是MD5加密的你应该把这段代码改为:
    <bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.Md5PasswordEncoder" />