我正在尝试向身份验证提供者添加一个密码编码器,该密码编码器引用了UserDetailsByNameServiceWrapper,但我在Spring Docs中找不到有关如何添加nooppassword编码器或BCryptPasswordEncoder的任何信息。
能否请我理解在xml配置中可以在哪里添加bCryptPasswordEncoder。
答案 0 :(得分:0)
您已正确连接.gitingore
。现在,不要使用vendor/
node_modules/
npm-debug.log
# Laravel 4 specific
bootstrap/compiled.php
app/storage/
storage/
# Laravel 5 & Lumen specific
public/storage
public/hot
/storage/logs/laravel.log
storage/logs/laravel.log
storage/*.key
.env.*.php
.env.php
.env
Homestead.yaml
Homestead.json
。
改为让您的类bCryptPasswordEncoder
来实现AuthenticationUserDetailsService
。
UserDetailsByNameServiceWrapper
答案 1 :(得分:0)
在spring-security.xml中,我完成了以下配置:
<authentication-manager>
<authentication-provider ref="authenticationProvider" />
</authentication-manager>
<beans:bean id="authenticationProvider" class="com.sc.auth.LimitLoginAuthenticationProvider">
<beans:property name="passwordEncoder" ref="encoder" />
<beans:property name="userDetailsService" ref="customUserDetailsService" />
<beans:property name="userDetailsManager" ref="userDetailsManager" />
</beans:bean>
<beans:bean id="encoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
<beans:constructor-arg name="strength" value="10" />
</beans:bean>
我的com.sc.auth.LimitLoginAuthenticationProvider类扩展了org.springframework.security.authentication.dao.DaoAuthenticationProvider;。
DaoAuthenticationProvider需要字段org.springframework.security.authentication.encoding.PasswordEncoder;作为我通过属性注入通过id =“ authenticationProvider”定义bean时提供的参数
请尝试这个。希望这会有所帮助!