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

时间:2016-02-22 12:35:34

标签: spring spring-mvc spring-security spring-boot

我为我的应用程序使用spring security。到目前为止我用过

  

org.springframework.boot spring-boot-starter-web 1.2.5 RELEASE

现在我想用

  

org.springframework.boot spring-boot-starter-web 1.3.2 RELEASE

My SecurityConfiguration.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 个答案:

答案 0 :(得分:0)

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

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

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

Migration from spring security 3 to 4 (xml config)

Migration from spring security 3 to 4 (java config)