diff --git a/pom.xml b/pom.xml
index fa89c6f..5705802 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,21 +31,25 @@
org.springframework.boot
spring-boot-starter-security
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
org.springframework
spring-jdbc
-
- org.springframework.data
- spring-data-jpa
-
org.springframework
spring-beans
+
+
+ org.springframework.data
+ spring-data-jpa
- org.springframework.boot
- spring-boot-starter-data-jpa
+ org.springframework.security
+ spring-security-core
diff --git a/src/main/java/com/itdominator/api/controller/BaseController.java b/src/main/java/com/itdominator/api/controller/BaseController.java
index fbe7814..9a2eff9 100644
--- a/src/main/java/com/itdominator/api/controller/BaseController.java
+++ b/src/main/java/com/itdominator/api/controller/BaseController.java
@@ -1,38 +1,27 @@
package com.itdominator.api.controller;
-import java.util.List;
-
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
-import com.itdominator.api.dto.ThumbnailDto;
-import com.itdominator.api.dto.ThumbnailSearchCriteria;
-import com.itdominator.api.services.ThumbnailerService;
-
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.Max;
-import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.Pattern;
-
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@RestController
+@EnableMethodSecurity(securedEnabled = true, prePostEnabled = true)
@RequiredArgsConstructor
@Slf4j
@Validated
public class BaseController {
- @PreAuthorize("hashPermission('User')")
+ @PreAuthorize("hasRole('User')")
+ // @PreAuthorize("hashPermission('User')")
@GetMapping("/")
public String root() {
return "
Hello, World!
";
diff --git a/src/main/java/com/itdominator/api/controller/ThumbnailerApiController.java b/src/main/java/com/itdominator/api/controller/ThumbnailerApiController.java
index c4e105a..31d450f 100644
--- a/src/main/java/com/itdominator/api/controller/ThumbnailerApiController.java
+++ b/src/main/java/com/itdominator/api/controller/ThumbnailerApiController.java
@@ -4,6 +4,7 @@ package com.itdominator.api.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -26,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
@RestController
+@EnableMethodSecurity(securedEnabled = true, prePostEnabled = true)
@RequiredArgsConstructor
@Slf4j
@Validated
@@ -34,7 +36,7 @@ public class ThumbnailerApiController {
private final ThumbnailerService thumbnailerService;
- @PreAuthorize("hashPermission('User')")
+ @PreAuthorize("hasRole('User')")
@PostMapping("/get-thumbnail/id/{id}")
public ThumbnailDto getThumbnailById(
@PathVariable
@@ -44,7 +46,7 @@ public class ThumbnailerApiController {
return thumbnailerService.getThumbnailById(id);
}
- @PreAuthorize("hashPermission('User')")
+ @PreAuthorize("hasRole('User')")
@PostMapping("/get-thumbnail/hash/{fileHash}")
public ThumbnailDto getThumbnailByHash(
@Pattern(regexp = "[a-zA-Z0-9]{32}*$") @PathVariable("fileHash") final String fileHash
@@ -53,7 +55,7 @@ public class ThumbnailerApiController {
}
- @PreAuthorize("hashPermission('User')")
+ @PreAuthorize("hasRole('User')")
@PostMapping("/get-thumbnail")
public ThumbnailDto getThumbnailByIdOrHashQuery(
@Valid @RequestBody ThumbnailSearchCriteria criteria
@@ -61,7 +63,7 @@ public class ThumbnailerApiController {
return thumbnailerService.getThumbnailByIdOrHashQuery(criteria);
}
- @PreAuthorize("hashPermission('User') and hashPermission('Admin')")
+ @PreAuthorize("hasRole('Admin')")
@GetMapping("/get-all-thumbnails")
public List getAllThumbnails() {
return thumbnailerService.getAllThumbnails();
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 24b7eb3..b7b6611 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -2,7 +2,7 @@ server.port=8999
spring.security.user.name=root
spring.security.user.password=toor
-spring.security.user.roles=USER
+spring.security.user.roles=User,Admin
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringJtaSessionContext
diff --git a/src/main/resources/persistence.properties b/src/main/resources/persistence.properties
index 0882a79..e69de29 100644
--- a/src/main/resources/persistence.properties
+++ b/src/main/resources/persistence.properties
@@ -1,8 +0,0 @@
-driverClassName=org.sqlite.JDBC
-#url=jdbc:sqlite:memory:myDb?cache=shared
-url=jdbc:sqlite:src/main/resource/static/db/database.db?cache=shared
-username=
-password=
-spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect
-hibernate.hbm2ddl.auto=create-drop
-hibernate.show_sql=true