- Файл SecurityConfig.java находится в правильном пакете (com.clarkemiddle.skitripvaadin.config).
- У него есть аннотации @enablewebsecurity и @configuration . FilterChain (httpsecurity http) выбрасывает исключение .
- Метод не является статичным.
- Я выполнил Mvn. /> Я проверил каталог Target/class/com/clarkemiddle/skitripvaadin/config и SecurityConfig.class . /> выполнение командной строки: < /strong>
Я запускаю приложение из командной строки, используя MVN Spring-boot: run < /code>. < /li>
< /ul>
< /li>
. Зависимость: Дерево < /code> Чтобы проверить противоречивые зависимости. < /li>
Я пробовал явно определить версию Vaadin-spring-security в моем pom.xml. < /li>
< /ul>
< /li>
Минимальная конфигурация: < /strong>
. SecurityConfig с http.authorizehttprequests (auth -> auth.anyRequest (). Armitall ()); .
[*] Новый проект:
- . My SecurityConfig.java и loginview.java , но ошибка сохраняется. /> < /ul>
< /li>
java версия: < /strong>
Я использую Java 17. < /li>
< /ul>
< /li>
Я проверил, что класс заявки находится в правильном упаковке, и есть @spling Аннотация. [/b]
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.provisioning.UserDetailsManager;
import com.vaadin.flow.spring.security.VaadinWebSecurity;
import org.springframework.security.web.SecurityFilterChain;
@EnableWebSecurity
@Configuration
public class SecurityConfig extends VaadinWebSecurity {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(auth -> auth
.requestMatchers("/", "/register", "/login").permitAll()
.anyRequest().authenticated()
);
setLoginView(http, LoginView.class);
return http.build();
}
@Bean
UserDetailsManager userDetailsManager() {
// In a production application, replace InMemoryUserDetailsManager with a database-backed UserDetailsService
return new InMemoryUserDetailsManager(
User.withUsername("username")
.password(passwordEncoder().encode("123456"))
.roles("USER").build()
);
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
< /code>
и мои зависимости: < /p>
com.vaadin
vaadin-spring-boot-starter
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-security
mysql
mysql-connector-java
8.0.33
runtime
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.springframework.security
spring-security-test
test
org.springframework.boot
spring-boot-devtools
runtime
true
com.vaadin
vaadin-bom
${vaadin.version}
pom
import
Подробнее здесь: https://stackoverflow.com/questions/794 ... -not-found