add security configuration
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
dmitriy.churmeev
2026-03-28 20:44:02 +03:00
parent 8c11b695d6
commit 05116c5aaf
4 changed files with 77 additions and 5 deletions

View File

@@ -0,0 +1,35 @@
package com.auth.config
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.security.config.Customizer
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
import org.springframework.security.config.annotation.web.configurers.LogoutConfigurer
import org.springframework.security.config.annotation.web.configurers.oauth2.client.OAuth2LoginConfigurer
import org.springframework.security.web.SecurityFilterChain
@Configuration
@EnableWebSecurity
class WebSecurityConfig () {
@Bean
@Throws(Exception::class)
fun filterChain(http: HttpSecurity): SecurityFilterChain? {
http
.authorizeHttpRequests(Customizer { auth -> auth
.requestMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
})
.oauth2Login(Customizer { oauth2: OAuth2LoginConfigurer<HttpSecurity?>? ->
oauth2!!
.defaultSuccessUrl("/dashboard", true)
.loginPage("/oauth2/authorization/keycloak") } // Spring сам редиректит
).logout(Customizer { logout: LogoutConfigurer<HttpSecurity?>? ->
logout!!
.logoutSuccessUrl("/") })
return http.build()
}
}