From ace8e61803ab366f0bcaff445dac1300618e7bb2 Mon Sep 17 00:00:00 2001 From: Milan Arezina Date: Tue, 30 Sep 2025 21:12:12 +0200 Subject: [PATCH 1/5] feat: add test entity and H2 database --- MiniKms/pom.xml | 9 ++++++ .../ftn/security/minikms/SecurityConfig.java | 23 +++++++++++++++ .../minikms/controller/TestController.java | 29 +++++++++++++++++++ .../ftn/security/minikms/dto/TestDTO.java | 8 +++++ .../security/minikms/entity/TestEntity.java | 17 +++++++++++ .../minikms/repository/TestRepository.java | 9 ++++++ .../security/minikms/service/TestService.java | 20 +++++++++++++ .../src/main/resources/application.properties | 13 +++++++++ 8 files changed, 128 insertions(+) create mode 100644 MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java create mode 100644 MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java create mode 100644 MiniKms/src/main/java/ftn/security/minikms/dto/TestDTO.java create mode 100644 MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java create mode 100644 MiniKms/src/main/java/ftn/security/minikms/repository/TestRepository.java create mode 100644 MiniKms/src/main/java/ftn/security/minikms/service/TestService.java diff --git a/MiniKms/pom.xml b/MiniKms/pom.xml index 4a815af..c90e22a 100644 --- a/MiniKms/pom.xml +++ b/MiniKms/pom.xml @@ -55,11 +55,20 @@ org.springframework.boot spring-boot-starter-data-jpa + + org.springframework.boot + spring-boot-starter-web + org.springframework.security spring-security-test test + + com.h2database + h2 + runtime + diff --git a/MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java b/MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java new file mode 100644 index 0000000..16ed3c0 --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java @@ -0,0 +1,23 @@ +package ftn.security.minikms; + +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.configurers.AbstractHttpConfigurer; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +public class SecurityConfig { + + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + http + .csrf(AbstractHttpConfigurer::disable) + + .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) + + .headers(headers -> headers.frameOptions(frame -> frame.sameOrigin())); + + return http.build(); + } +} diff --git a/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java b/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java new file mode 100644 index 0000000..d8dcc77 --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java @@ -0,0 +1,29 @@ +package ftn.security.minikms.controller; + +import ftn.security.minikms.dto.TestDTO; +import ftn.security.minikms.entity.TestEntity; +import ftn.security.minikms.service.TestService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(value = "/api/v1/test") +public class TestController { + @Autowired + private TestService testService; + + @GetMapping("/{id}") + public TestEntity getTest(@PathVariable Long id) { + return testService.getById(id); + } + + @PostMapping("/add") + public TestEntity addTest(@RequestBody TestDTO testDTO){ + TestEntity entity = new TestEntity(); + entity.setName(testDTO.getName()); + + TestEntity savedEntity = testService.addTest(entity); + return ResponseEntity.ok(savedEntity).getBody(); + } +} diff --git a/MiniKms/src/main/java/ftn/security/minikms/dto/TestDTO.java b/MiniKms/src/main/java/ftn/security/minikms/dto/TestDTO.java new file mode 100644 index 0000000..ef9511f --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/dto/TestDTO.java @@ -0,0 +1,8 @@ +package ftn.security.minikms.dto; + +import lombok.Data; + +@Data +public class TestDTO { + private String name; +} \ No newline at end of file diff --git a/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java b/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java new file mode 100644 index 0000000..8fb34bb --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java @@ -0,0 +1,17 @@ +package ftn.security.minikms.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.Data; + +@Entity +@Data +public class TestEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String name; +} diff --git a/MiniKms/src/main/java/ftn/security/minikms/repository/TestRepository.java b/MiniKms/src/main/java/ftn/security/minikms/repository/TestRepository.java new file mode 100644 index 0000000..cc1acd6 --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/repository/TestRepository.java @@ -0,0 +1,9 @@ +package ftn.security.minikms.repository; + +import ftn.security.minikms.entity.TestEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface TestRepository extends JpaRepository { +} diff --git a/MiniKms/src/main/java/ftn/security/minikms/service/TestService.java b/MiniKms/src/main/java/ftn/security/minikms/service/TestService.java new file mode 100644 index 0000000..992de83 --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/service/TestService.java @@ -0,0 +1,20 @@ +package ftn.security.minikms.service; + +import ftn.security.minikms.entity.TestEntity; +import ftn.security.minikms.repository.TestRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class TestService { + @Autowired + TestRepository testRepository; + + public TestEntity getById(Long id){ + return testRepository.findById(id).get(); + } + + public TestEntity addTest(TestEntity testEntity){ + return testRepository.save(testEntity); + } +} diff --git a/MiniKms/src/main/resources/application.properties b/MiniKms/src/main/resources/application.properties index d3bcf13..cd4fe3f 100644 --- a/MiniKms/src/main/resources/application.properties +++ b/MiniKms/src/main/resources/application.properties @@ -1,3 +1,16 @@ spring.application.name=MiniKms ROOT_KEY=your-base64-encoded-key-here + +spring.security.user.name=admin +spring.security.user.password=secret + +spring.h2.console.enabled=true +spring.h2.console.path=/h2-console + +spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE +spring.datasource.driverClassName=org.h2.Driver +spring.datasource.username=sa +spring.datasource.password= + +spring.jpa.hibernate.ddl-auto=create-drop From 98f9fd41ef995a5cfe186fcb2276295271b1f48a Mon Sep 17 00:00:00 2001 From: Milan Arezina Date: Tue, 30 Sep 2025 21:17:03 +0200 Subject: [PATCH 2/5] feat: add entity logger --- .../security/minikms/entity/TestEntity.java | 7 ++-- .../minikms/logging/EntityLogger.java | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java diff --git a/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java b/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java index 8fb34bb..818e855 100644 --- a/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java +++ b/MiniKms/src/main/java/ftn/security/minikms/entity/TestEntity.java @@ -1,13 +1,12 @@ package ftn.security.minikms.entity; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; +import ftn.security.minikms.logging.EntityLogger; +import jakarta.persistence.*; import lombok.Data; @Entity @Data +@EntityListeners(EntityLogger.class) public class TestEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java b/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java new file mode 100644 index 0000000..a5ed64d --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java @@ -0,0 +1,36 @@ +package ftn.security.minikms.logging; + +import jakarta.persistence.*; + +public class EntityLogger { + + @PrePersist + public void prePersist(Object entity) { + System.out.println("Creating: " + entity); + } + + @PostPersist + public void postPersist(Object entity) { + System.out.println("Created: " + entity); + } + + @PreUpdate + public void preUpdate(Object entity) { + System.out.println("Updating: " + entity); + } + + @PostUpdate + public void postUpdate(Object entity) { + System.out.println("Updated: " + entity); + } + + @PreRemove + public void preRemove(Object entity) { + System.out.println("Deleting: " + entity); + } + + @PostRemove + public void postRemove(Object entity) { + System.out.println("Deleted: " + entity); + } +} From 795fd329219035cf51a64642a27be557c0e0137d Mon Sep 17 00:00:00 2001 From: Milan Arezina Date: Tue, 30 Sep 2025 21:49:12 +0200 Subject: [PATCH 3/5] feat: add controller logger --- .../minikms/controller/TestController.java | 2 + .../logging/RequestResponseLoggingFilter.java | 61 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 MiniKms/src/main/java/ftn/security/minikms/logging/RequestResponseLoggingFilter.java diff --git a/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java b/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java index d8dcc77..3fc1ac8 100644 --- a/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java +++ b/MiniKms/src/main/java/ftn/security/minikms/controller/TestController.java @@ -3,10 +3,12 @@ import ftn.security.minikms.dto.TestDTO; import ftn.security.minikms.entity.TestEntity; import ftn.security.minikms.service.TestService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +@Slf4j @RestController @RequestMapping(value = "/api/v1/test") public class TestController { diff --git a/MiniKms/src/main/java/ftn/security/minikms/logging/RequestResponseLoggingFilter.java b/MiniKms/src/main/java/ftn/security/minikms/logging/RequestResponseLoggingFilter.java new file mode 100644 index 0000000..8f75a82 --- /dev/null +++ b/MiniKms/src/main/java/ftn/security/minikms/logging/RequestResponseLoggingFilter.java @@ -0,0 +1,61 @@ +package ftn.security.minikms.logging; + +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.web.filter.OncePerRequestFilter; +import org.springframework.web.util.ContentCachingRequestWrapper; +import org.springframework.web.util.ContentCachingResponseWrapper; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.UUID; + +@Slf4j +@Component +public class RequestResponseLoggingFilter extends OncePerRequestFilter { + + @Override + protected void doFilterInternal(HttpServletRequest request, + HttpServletResponse response, + FilterChain filterChain) throws ServletException, IOException { + + ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request); + ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response); + + String requestId = request.getHeader("X-Request-ID"); + if (requestId == null || requestId.isBlank()) { + requestId = UUID.randomUUID().toString(); + } + + responseWrapper.setHeader("X-Request-ID", requestId); + + long start = System.currentTimeMillis(); + try { + filterChain.doFilter(requestWrapper, responseWrapper); + } finally { + long duration = System.currentTimeMillis() - start; + + String requestBody = new String(requestWrapper.getContentAsByteArray(), StandardCharsets.UTF_8); + log.info("[{}] REQUEST {} {} | Body={}", + requestId, + request.getMethod(), + request.getRequestURI(), + requestBody); + + String responseBody = new String(responseWrapper.getContentAsByteArray(), StandardCharsets.UTF_8); + log.info("[{}] RESPONSE {} {} | Status={} | Duration={}ms | Body={}", + requestId, + request.getMethod(), + request.getRequestURI(), + responseWrapper.getStatus(), + duration, + responseBody); + + responseWrapper.copyBodyToResponse(); + } + } +} From 22608facf801668049557a1aab0280bd66a30749 Mon Sep 17 00:00:00 2001 From: Milan Arezina Date: Tue, 30 Sep 2025 22:12:22 +0200 Subject: [PATCH 4/5] feat: add log saving and logrotate --- MiniKms/logs/controller.log | 16 ++++++ MiniKms/logs/entity.log | 2 + .../minikms/logging/EntityLogger.java | 14 +++--- MiniKms/src/main/resources/logback-spring.xml | 50 +++++++++++++++++++ 4 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 MiniKms/logs/controller.log create mode 100644 MiniKms/logs/entity.log create mode 100644 MiniKms/src/main/resources/logback-spring.xml diff --git a/MiniKms/logs/controller.log b/MiniKms/logs/controller.log new file mode 100644 index 0000000..7c926a5 --- /dev/null +++ b/MiniKms/logs/controller.log @@ -0,0 +1,16 @@ +2025-09-30 22:02:56 [http-nio-8080-exec-10] INFO f.s.m.l.RequestResponseLoggingFilter - [f3738aa7-dd26-4730-ae55-a03e82dc5cf9] REQUEST POST /api/v1/test/add | Body={ + "name":"testname" +} +2025-09-30 22:02:56 [http-nio-8080-exec-10] INFO f.s.m.l.RequestResponseLoggingFilter - [f3738aa7-dd26-4730-ae55-a03e82dc5cf9] RESPONSE POST /api/v1/test/add | Status=200 | Duration=196ms | Body={"id":1,"name":"testname"} +2025-09-30 22:04:21 [http-nio-8080-exec-5] INFO f.s.m.l.RequestResponseLoggingFilter - [1ae5c07a-e782-49cd-beee-beb87e96a6a2] REQUEST POST /api/v1/test/add | Body={ + "name":"testname" +} +2025-09-30 22:04:21 [http-nio-8080-exec-5] INFO f.s.m.l.RequestResponseLoggingFilter - [1ae5c07a-e782-49cd-beee-beb87e96a6a2] RESPONSE POST /api/v1/test/add | Status=200 | Duration=177ms | Body={"id":1,"name":"testname"} +2025-09-30 22:06:18 [http-nio-8080-exec-2] INFO f.s.m.l.RequestResponseLoggingFilter - [f90fb9c0-869b-4001-9054-5f3d7788c051] REQUEST POST /api/v1/test/add | Body={ + "name":"testname" +} +2025-09-30 22:06:18 [http-nio-8080-exec-2] INFO f.s.m.l.RequestResponseLoggingFilter - [f90fb9c0-869b-4001-9054-5f3d7788c051] RESPONSE POST /api/v1/test/add | Status=200 | Duration=191ms | Body={"id":1,"name":"testname"} +2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.m.l.RequestResponseLoggingFilter - [717eb391-cb49-4bce-8232-7f3f6af1da74] REQUEST POST /api/v1/test/add | Body={ + "name":"testname" +} +2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.m.l.RequestResponseLoggingFilter - [717eb391-cb49-4bce-8232-7f3f6af1da74] RESPONSE POST /api/v1/test/add | Status=200 | Duration=183ms | Body={"id":1,"name":"testname"} diff --git a/MiniKms/logs/entity.log b/MiniKms/logs/entity.log new file mode 100644 index 0000000..39d5ca2 --- /dev/null +++ b/MiniKms/logs/entity.log @@ -0,0 +1,2 @@ +2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.minikms.logging.EntityLogger - Creating: TestEntity(id=null, name=testname) +2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.minikms.logging.EntityLogger - Created: TestEntity(id=1, name=testname) diff --git a/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java b/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java index a5ed64d..fe8de94 100644 --- a/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java +++ b/MiniKms/src/main/java/ftn/security/minikms/logging/EntityLogger.java @@ -1,36 +1,38 @@ package ftn.security.minikms.logging; import jakarta.persistence.*; +import lombok.extern.slf4j.Slf4j; +@Slf4j public class EntityLogger { @PrePersist public void prePersist(Object entity) { - System.out.println("Creating: " + entity); + log.info("Creating: {}", entity); } @PostPersist public void postPersist(Object entity) { - System.out.println("Created: " + entity); + log.info("Created: {}", entity); } @PreUpdate public void preUpdate(Object entity) { - System.out.println("Updating: " + entity); + log.info("Updating: {}", entity); } @PostUpdate public void postUpdate(Object entity) { - System.out.println("Updated: " + entity); + log.info("Updated: {}", entity); } @PreRemove public void preRemove(Object entity) { - System.out.println("Deleting: " + entity); + log.info("Deleting: {}", entity); } @PostRemove public void postRemove(Object entity) { - System.out.println("Deleted: " + entity); + log.info("Deleted: {}", entity); } } diff --git a/MiniKms/src/main/resources/logback-spring.xml b/MiniKms/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..7fb8512 --- /dev/null +++ b/MiniKms/src/main/resources/logback-spring.xml @@ -0,0 +1,50 @@ + + + + + logs/controller.log + + logs/controller-%d{yyyy-MM-dd}.%i.log.gz + 10MB + 14 + 500MB + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + logs/entity.log + + logs/entity-%d{yyyy-MM-dd}.%i.log.gz + 10MB + 14 + 500MB + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + From a6bf4bccb20a19649b0aff9ed3824bf8462ccf3d Mon Sep 17 00:00:00 2001 From: Milan Arezina Date: Wed, 1 Oct 2025 09:11:10 +0200 Subject: [PATCH 5/5] feat: allow all test requests --- MiniKms/logs/controller.log | 6 +++++ MiniKms/logs/entity.log | 2 ++ MiniKms/pom.xml | 8 ------- .../ftn/security/minikms/SecurityConfig.java | 23 ------------------- .../minikms/config/SecurityConfig.java | 1 + 5 files changed, 9 insertions(+), 31 deletions(-) delete mode 100644 MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java diff --git a/MiniKms/logs/controller.log b/MiniKms/logs/controller.log index 7c926a5..c08ccfc 100644 --- a/MiniKms/logs/controller.log +++ b/MiniKms/logs/controller.log @@ -14,3 +14,9 @@ "name":"testname" } 2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.m.l.RequestResponseLoggingFilter - [717eb391-cb49-4bce-8232-7f3f6af1da74] RESPONSE POST /api/v1/test/add | Status=200 | Duration=183ms | Body={"id":1,"name":"testname"} +2025-10-01 09:10:05 [https-jsse-nio-8443-exec-6] INFO f.s.m.l.RequestResponseLoggingFilter - [9ddbfebf-0170-4483-a22c-7cf2851c74fe] REQUEST POST /api/v1/test/add | Body={ + "name":"testname" +} +2025-10-01 09:10:05 [https-jsse-nio-8443-exec-6] INFO f.s.m.l.RequestResponseLoggingFilter - [9ddbfebf-0170-4483-a22c-7cf2851c74fe] RESPONSE POST /api/v1/test/add | Status=200 | Duration=388ms | Body={"id":1,"name":"testname"} +2025-10-01 09:10:10 [https-jsse-nio-8443-exec-7] INFO f.s.m.l.RequestResponseLoggingFilter - [a5ea9e10-5849-4b51-8f00-314520b739d8] REQUEST GET /api/v1/test/1 | Body= +2025-10-01 09:10:10 [https-jsse-nio-8443-exec-7] INFO f.s.m.l.RequestResponseLoggingFilter - [a5ea9e10-5849-4b51-8f00-314520b739d8] RESPONSE GET /api/v1/test/1 | Status=200 | Duration=79ms | Body={"id":1,"name":"testname"} diff --git a/MiniKms/logs/entity.log b/MiniKms/logs/entity.log index 39d5ca2..ad0c060 100644 --- a/MiniKms/logs/entity.log +++ b/MiniKms/logs/entity.log @@ -1,2 +1,4 @@ 2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.minikms.logging.EntityLogger - Creating: TestEntity(id=null, name=testname) 2025-09-30 22:08:15 [http-nio-8080-exec-1] INFO f.s.minikms.logging.EntityLogger - Created: TestEntity(id=1, name=testname) +2025-10-01 09:10:05 [https-jsse-nio-8443-exec-6] INFO f.s.minikms.logging.EntityLogger - Creating: TestEntity(id=null, name=testname) +2025-10-01 09:10:05 [https-jsse-nio-8443-exec-6] INFO f.s.minikms.logging.EntityLogger - Created: TestEntity(id=1, name=testname) diff --git a/MiniKms/pom.xml b/MiniKms/pom.xml index d00c97f..8e75f7c 100644 --- a/MiniKms/pom.xml +++ b/MiniKms/pom.xml @@ -59,12 +59,6 @@ test -<<<<<<< HEAD - com.h2database - h2 - runtime - -======= io.jsonwebtoken jjwt-api 0.13.0 @@ -97,7 +91,6 @@ mapstruct 1.6.0 ->>>>>>> develop @@ -134,5 +127,4 @@ - diff --git a/MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java b/MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java deleted file mode 100644 index 16ed3c0..0000000 --- a/MiniKms/src/main/java/ftn/security/minikms/SecurityConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package ftn.security.minikms; - -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.configurers.AbstractHttpConfigurer; -import org.springframework.security.web.SecurityFilterChain; - -@Configuration -public class SecurityConfig { - - @Bean - public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { - http - .csrf(AbstractHttpConfigurer::disable) - - .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) - - .headers(headers -> headers.frameOptions(frame -> frame.sameOrigin())); - - return http.build(); - } -} diff --git a/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java b/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java index e2839bf..67fe541 100644 --- a/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java +++ b/MiniKms/src/main/java/ftn/security/minikms/config/SecurityConfig.java @@ -53,6 +53,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .authorizeHttpRequests(auth -> auth .requestMatchers(HttpMethod.OPTIONS, "/**").permitAll() .requestMatchers("/api/v1/auth/**").permitAll() + .requestMatchers("/api/v1/test/**").permitAll() .requestMatchers(HttpMethod.GET, "/api/v1/keys/**").authenticated() // Allow all roles to GET .requestMatchers("/api/v1/keys/**").hasRole("MANAGER") .anyRequest().authenticated()