Spring Security Spring boot-starter-web 从 1.2.5 迁移到 1.3.2.RE



我为我的应用程序使用 Spring 安全性。到目前为止,我使用

org.springframework.boot spring-boot-starter-web 1.2.5 发布

现在我想使用

org.springframework.boot spring-boot-starter-web 1.3.2 发布

我的安全配置.java如下所示:

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userService;
@Autowired
public void configureAuth(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(userService).passwordEncoder(new BCryptPasswordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().anyRequest().authenticated().and().formLogin().loginPage("/login.html")
            .failureUrl("/login.html?error").defaultSuccessUrl("/index", true).permitAll().and().logout()
            .logoutSuccessUrl("/logout.html").permitAll().and().csrf().disable();
 }
}

我的一个休息服务如下所示:

@RequestMapping("/test")
@PreAuthorize("hasRole('ADMIN')")
public List<Tests> getTests() {
    return ...
}

旧版本有效。使用较新的版本,如果我尝试调用其余服务,我会得到 403 禁止。有谁知道如何让它再次工作?

从 1.2.5 升级到 1.3.2 时,您还可以将 spring-security 从 3.X 更新到 4.X。

您可以在自己的项目中覆盖 Spring 安全依赖项,以保留以前版本的 spring-security。(我不认为推荐,至少你会在启动时看到警告)

或者,您可以仔细阅读下面的文档,并在从 spring-security 3.X 迁移到 4.X 时执行所有必要的配置更新

从 Spring 安全性 3 迁移到 4(xml 配置)

从 Spring Security 3 迁移到 4(java 配置)

最新更新