diff --git a/acrarium/build.gradle.kts b/acrarium/build.gradle.kts index 4acb28c3..53e85405 100644 --- a/acrarium/build.gradle.kts +++ b/acrarium/build.gradle.kts @@ -48,6 +48,7 @@ dependencies { implementation(libs.comFasterxmlJacksonModule.jacksonModuleKotlin) implementation(libs.kotlin.logging) implementation(libs.springdoc) + implementation(libs.orgAspectj.aspectjweaver) developmentOnly(libs.orgSpringframeworkBoot.springBootDevtools) testImplementation(libs.orgSpringframeworkBoot.springBootStarterTest) testImplementation(libs.orgSpringframeworkSecurity.springSecurityTest) diff --git a/acrarium/src/main/kotlin/com/faendir/acra/security/WebSecurityConfiguration.kt b/acrarium/src/main/kotlin/com/faendir/acra/security/WebSecurityConfiguration.kt index 55b81276..8c88ca4e 100644 --- a/acrarium/src/main/kotlin/com/faendir/acra/security/WebSecurityConfiguration.kt +++ b/acrarium/src/main/kotlin/com/faendir/acra/security/WebSecurityConfiguration.kt @@ -1,5 +1,5 @@ /* - * (C) Copyright 2022-2023 Lukas Morawietz (https://github.com/F43nd1r) + * (C) Copyright 2022-2024 Lukas Morawietz (https://github.com/F43nd1r) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,10 +21,12 @@ import com.faendir.acra.rest.RestApiInterface.Companion.API_PATH import com.faendir.acra.rest.RestReportInterface.Companion.REPORT_PATH import com.faendir.acra.ui.view.login.LoginView import com.faendir.acra.ui.view.login.SetupView +import com.vaadin.flow.spring.SpringSecurityAutoConfiguration import com.vaadin.flow.spring.security.VaadinWebSecurity import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration +import org.springframework.context.annotation.Import import org.springframework.core.annotation.Order import org.springframework.security.authentication.AuthenticationManager import org.springframework.security.authentication.AuthenticationProvider @@ -46,6 +48,7 @@ import org.springframework.web.servlet.handler.HandlerMappingIntrospector @Configuration @EnableWebSecurity +@Import(SpringSecurityAutoConfiguration::class) class WebSecurityConfiguration(private val userRepository: UserRepository) : VaadinWebSecurity() { diff --git a/acrarium/src/main/kotlin/com/faendir/acra/ui/view/main/MainView.kt b/acrarium/src/main/kotlin/com/faendir/acra/ui/view/main/MainView.kt index 90f25b18..3955ef7f 100644 --- a/acrarium/src/main/kotlin/com/faendir/acra/ui/view/main/MainView.kt +++ b/acrarium/src/main/kotlin/com/faendir/acra/ui/view/main/MainView.kt @@ -1,5 +1,5 @@ /* - * (C) Copyright 2017-2023 Lukas Morawietz (https://github.com/F43nd1r) + * (C) Copyright 2017-2024 Lukas Morawietz (https://github.com/F43nd1r) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,20 +50,19 @@ import org.springframework.security.core.context.SecurityContextHolder @SpringComponent class MainView(applicationContext: GenericApplicationContext) : Composite(), RouterLayout { private val targets: MutableMap, Tab> = mutableMapOf() - private val tabs: Tabs + private val tabs: Tabs = Tabs().apply { + orientation = Tabs.Orientation.VERTICAL + add(createTab(Messages.HOME)) + add(AppPath(applicationContext)) + add(createTab(Messages.ACCOUNT)) + if (SecurityUtils.hasRole(Role.ADMIN)) { + add(createTab(Messages.USER_MANAGER)) + } + add(createTab(Messages.SETTINGS)) + add(createTab(Messages.ABOUT)) + } init { - tabs = Tabs().apply { - orientation = Tabs.Orientation.VERTICAL - add(createTab(Messages.HOME)) - add(AppPath(applicationContext)) - add(createTab(Messages.ACCOUNT)) - if (SecurityUtils.hasRole(Role.ADMIN)) { - add(createTab(Messages.USER_MANAGER)) - } - add(createTab(Messages.SETTINGS)) - add(createTab(Messages.ABOUT)) - } content { element.style["width"] = "100%" element.style["height"] = "100%" diff --git a/build.gradle.kts b/build.gradle.kts index 9c7ae4b0..2769eea2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,7 +19,7 @@ tasks.register("build") { tasks.register("clean") { group = "build" - delete = setOf(buildDir) + delete = setOf(layout.buildDirectory) } subprojects {