Please help someone, i am trying to save spring session id in relation database from here link
And i am getting this error:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Jan 28 19:51:15 IST 2016 There was an unexpected error (type=Forbidden, status=403). Expected CSRF token not found. Has your session expired?
And my SecurityConfig class:
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
//@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
@EnableWebSecurity
public class SecurityConfig {
@Bean
public HttpSessionStrategy httpSessionStrategy() {
return new CookieHttpSessionStrategy();
}
@Bean
public SessionRepositoryFilter<ExpiringSession> sessionRepositoryFilter(
SessionRepository<ExpiringSession> sessionRepository,
HttpSessionStrategy httpSessionStrategy
) {
SessionRepositoryFilter<ExpiringSession> sessionRepositoryFilter = new SessionRepositoryFilter<>(sessionRepository);
sessionRepositoryFilter.setHttpSessionStrategy(httpSessionStrategy);
return sessionRepositoryFilter;
}
@Bean
public SessionRepository<ExpiringSession> sessionRepository() {
return new JPASessionRepository(10);
}
@Configuration
@Order(1)
public static class SpringWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Bean
public AuthenticationManager authenticationManager() throws Exception {
return super.authenticationManager();
}
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private SessionRepositoryFilter<ExpiringSession> sessionSessionRepositoryFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/public/**").permitAll()
.antMatchers(("/")).hasAnyAuthority("ADMIN")
.antMatchers("/home").hasAnyAuthority("ADMIN")
.antMatchers("/users/**").hasAuthority("ADMIN")
.anyRequest().fullyAuthenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/adduser")
.failureUrl("/login?error")
.usernameParameter("email")
.passwordParameter("password")
.permitAll()
.and()
.addFilterBefore(sessionSessionRepositoryFilter, ChannelProcessingFilter.class)
.logout()
.logoutUrl("/logout")
.deleteCookies("remember-me")
.logoutSuccessUrl("/home")
.permitAll()
.and()
.rememberMe();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.userDetailsService(userDetailsService)
.passwordEncoder(new BCryptPasswordEncoder());
}
}
}