diff --git a/error-prone-contrib/pom.xml b/error-prone-contrib/pom.xml index 09d8167f..5474a9ea 100644 --- a/error-prone-contrib/pom.xml +++ b/error-prone-contrib/pom.xml @@ -239,6 +239,11 @@ spring-boot-test provided + + org.springframework.security + spring-security-core + test + org.testng testng diff --git a/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotation.java b/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotation.java index 7c1a48c0..f9e8a798 100644 --- a/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotation.java +++ b/error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotation.java @@ -73,7 +73,9 @@ public final class RequestMappingAnnotation extends BugChecker implements Method isType(ANN_PACKAGE_PREFIX + "RequestBody"), isType(ANN_PACKAGE_PREFIX + "RequestHeader"), isType(ANN_PACKAGE_PREFIX + "RequestParam"), - isType(ANN_PACKAGE_PREFIX + "RequestPart"))), + isType(ANN_PACKAGE_PREFIX + "RequestPart"), + isType( + "org.springframework.security.core.annotation.CurrentSecurityContext"))), isSameType(InputStream.class.getCanonicalName()), isSameType(Locale.class.getCanonicalName()), isSameType(TimeZone.class.getCanonicalName()), diff --git a/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotationTest.java b/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotationTest.java index baa62651..4abd0488 100644 --- a/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotationTest.java +++ b/error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/RequestMappingAnnotationTest.java @@ -16,6 +16,7 @@ final class RequestMappingAnnotationTest { "import java.util.Locale;", "import java.util.TimeZone;", "import org.springframework.http.HttpMethod;", + "import org.springframework.security.core.annotation.CurrentSecurityContext;", "import org.springframework.ui.Model;", "import org.springframework.validation.BindingResult;", "import org.springframework.web.bind.annotation.DeleteMapping;", @@ -63,6 +64,10 @@ final class RequestMappingAnnotationTest { " A properRequestPart(@RequestPart String part);", "", " @RequestMapping", + " A properCurrentSecurityContext(", + " @CurrentSecurityContext(expression = \"authentication.name\") String user);", + "", + " @RequestMapping", " A properInputStream(InputStream input);", "", " @RequestMapping", diff --git a/pom.xml b/pom.xml index def11707..be368226 100644 --- a/pom.xml +++ b/pom.xml @@ -489,6 +489,13 @@ spring-boot-test 2.7.18 + + org.springframework.security + spring-security-bom + 5.3.13.RELEASE + pom + import + org.testng testng