Доброго дня! Появился вопрос с настройкой разрешений для страниц. Нужно, что бы пользователь мог зайти на страницу для регистрации (естественно еще не авторизованным)и это получается если использовать SpringSecurity и SpringMVC. С Vaadin (при условно одинаковом файле SecurityConfiguration) без авторизации нельзя открыть другие страницы.Может кто подскажет, где почитать про настройки безопасности для Vaadin? Спасибо!
На всякий случай скину содержание файла конфигурации - SecurityConfiguration:
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
private static final String LOGIN_PROCESSING_URL = "/login";
private static final String LOGIN_FAILURE_URL = "/login";
private static final String LOGIN_URL = "/login";
private static final String LOGOUT_SUCCESS_URL = "/login";
@Bean
public CustomRequestCache requestCache() { //
return new CustomRequestCache();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/VAADIN/**", "/HEARTBEAT/**", "/UIDL/**", "/resources/**"
, "/login", "/login**", "/login/**", "/manifest.json", "/icons/**", "/images/**", "/registration", "/registration/**", "/grid")
.permitAll()
.requestMatchers(SecurityUtils::isFrameworkInternalRequest)
.permitAll()
.antMatchers("/user/**").hasAnyAuthority("USER")
.antMatchers("/admin/**").hasAnyAuthority("ADMIN")
.anyRequest()
.authenticated()
.and().formLogin().loginPage(LOGIN_URL).permitAll().loginProcessingUrl(LOGIN_PROCESSING_URL)
.defaultSuccessUrl("/registration", true)
.failureUrl(LOGIN_FAILURE_URL)
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl(LOGOUT_SUCCESS_URL)
.and()
.csrf().disable()
.requestCache().requestCache(new CustomRequestCache());
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers(
"/VAADIN/**",
"/favicon.ico",
"/robots.txt",
"/manifest.webmanifest",
"/sw.js",
"/offline-page.html",
"/icons/**",
"/images/**",
"/frontend/**",
"/webjars/**",
"/h2-console/**",
"/frontend-es5/**", "/frontend-es6/**");
}