2016-02-22 82 views
0

我對我的應用程序使用了spring security。到現在爲止我用Spring Security Spring-boot-starter-web從1.2.5遷移到1.3.2.RELEASE

org.springframework.boot彈簧引導啓動的Web 1.2.5發佈

現在我想用

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

我的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(); 
} 
} 

我的一個REST服務看起來是這樣的:

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

老版的作品。對於新版本,如果我嘗試調用其餘服務,則會得到403禁止。有誰知道如何讓這個工作再次?

回答

0

從1.2.5升級到1.3.2時,您還將spring-security從3.X更新爲4.X.

您可以在您自己的項目中覆蓋spring安全依賴項,以保留之前的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)

+0

謝謝您的回答。我閱讀了這些文章,但是我沒有執行任何這些改變的功能。 – Tror1935

相關問題