Updated security configuration

This commit is contained in:
Andrey Terentev 2024-03-25 11:41:22 +07:00 committed by Andrey Terentev
parent 92bc287686
commit 1d94338ea5

View File

@ -1,14 +1,12 @@
package ru.dragonestia.picker.cp.config;
import com.vaadin.flow.spring.security.VaadinWebSecurity;
import org.springframework.beans.factory.annotation.Autowired;
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.UserDetailsService;
import org.springframework.security.crypto.password.PasswordEncoder;
import ru.dragonestia.picker.api.impl.RoomPickerClient;
import ru.dragonestia.picker.cp.model.provider.AccountProvider;
import ru.dragonestia.picker.cp.page.LoginPage;
import ru.dragonestia.picker.cp.service.AccountService;
@ -16,6 +14,13 @@ import ru.dragonestia.picker.cp.service.AccountService;
@Configuration
public class SecurityConfig extends VaadinWebSecurity {
private AccountService accountService;
@Autowired
public void setAccountService(AccountService accountService) {
this.accountService = accountService;
}
@Bean
PasswordEncoder passwordEncoder() {
return new PasswordEncoder() {
@ -31,17 +36,18 @@ public class SecurityConfig extends VaadinWebSecurity {
};
}
@Bean
UserDetailsService userDetailsService(RoomPickerClient adminClient, AccountProvider accountProvider) {
return new AccountService(adminClient, accountProvider);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(auth -> {
});
http.formLogin(login -> {
login.successForwardUrl("/nodes");
});
http.userDetailsService(accountService);
super.configure(http);
setLoginView(http, LoginPage.class);
}