Joaquín Reñé
2025-10-07 146a0fb8b0e90f9196e569152f649baf60d6cc8f
securis/src/main/java/net/curisit/securis/security/Securable.java
....@@ -1,3 +1,6 @@
1
+/*
2
+* Copyright @ 2013 CurisTEC, S.A.S. All Rights Reserved.
3
+*/
14 package net.curisit.securis.security;
25
36 import java.lang.annotation.ElementType;
....@@ -7,16 +10,25 @@
710
811 import net.curisit.securis.utils.TokenHelper;
912
13
+/**
14
+* Securable
15
+* <p>
16
+* Method-level annotation to declare security requirements:
17
+* - {@link #header()} name containing the auth token (defaults to {@link TokenHelper#TOKEN_HEADER_PÀRAM}).
18
+* - {@link #roles()} required role bitmask; {@code 0} means no role restriction.
19
+*
20
+* Intended to be enforced by request filters/interceptors (e.g., RequestsInterceptor).
21
+*
22
+* @author JRA
23
+* Last reviewed by JRA on Oct 5, 2025.
24
+*/
1025 @Retention(RetentionPolicy.RUNTIME)
1126 @Target(ElementType.METHOD)
1227 public @interface Securable {
13
- /**
14
- * Name of header parameter with the auth token to validate
15
- */
28
+
29
+ /** Header name carrying the token to validate. */
1630 String header() default TokenHelper.TOKEN_HEADER_PÀRAM;
1731
18
- /**
19
- * Bit mask with the rol or roles necessary to access the method
20
- */
32
+ /** Bitmask of required roles; set 0 for public endpoints (token still may be required). */
2133 int roles() default 0;
2234 }