【发布时间】:2018-09-25 15:09:02
【问题描述】:
我对 java spring security 非常陌生,并且关注 Spring.io tutorial guide。
作为其中的一部分,我根据需要编辑了WebSecurityConfig 类:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Bean
@Override
public UserDetailsService userDetailsService() {
UserDetails user =
User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("USER")
.build();
return new InMemoryUserDetailsManager(user);
}
}
在userDetailService() 方法中,它使用withDefaultPasswordEncoder(),如文档中所示,现在已弃用:withDefaultPasswordEncoder()
不幸的是,我无法找到替代方法来完成本教程而不使用已弃用的方法。 如果可能的话,有人可以为此提供替代方案吗?
谢谢!
注意:我附上了我的错误的几个屏幕截图,以及我的 gradle 文件
【问题讨论】:
-
您是否阅读了整个 Javadoc?它涉及大量细节,特别是包括“对于演示和入门是可以接受的”。
-
我做到了,但是在实现这个(不只是拉回购)时,当我编写方法时,我不断收到错误消息,说 withDefaultPasswordEncoder() 无法解析,并且不会让我运行程序
-
已弃用(您会收到警告)和未解决之间存在差异,这是一个错误。该文档仍在 5.0 文档中,因此不应消失;您使用的是什么版本的 Spring Security 依赖项?
-
使用我认为是 5.0.4.RELEASE 的 gradle ..... -> compile("org.springframework.boot:spring-boot-starter-security")
-
Spring Boot 1.5 还是 2.0?
标签: java spring spring-mvc spring-boot spring-security