From 1d94338ea56ea4e88e4a5757b75144e7bbc05a72 Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Mon, 25 Mar 2024 11:41:22 +0700 Subject: [PATCH] Updated security configuration --- .../picker/cp/config/SecurityConfig.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/control-panel/src/main/java/ru/dragonestia/picker/cp/config/SecurityConfig.java b/control-panel/src/main/java/ru/dragonestia/picker/cp/config/SecurityConfig.java index 24c6de7..64f0248 100644 --- a/control-panel/src/main/java/ru/dragonestia/picker/cp/config/SecurityConfig.java +++ b/control-panel/src/main/java/ru/dragonestia/picker/cp/config/SecurityConfig.java @@ -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); }