1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.mycore.frontend.jersey.access;
20
21 import java.io.IOException;
22 import java.util.function.Supplier;
23
24 import jakarta.annotation.Priority;
25 import jakarta.ws.rs.Priorities;
26 import jakarta.ws.rs.container.ContainerRequestContext;
27 import jakarta.ws.rs.container.ContainerRequestFilter;
28
29 @Priority(Priorities.AUTHENTICATION - 1)
30 public class MCRRequestScopeACLFilter implements ContainerRequestFilter {
31 public static String ACL_INSTANT_KEY = "requestScopeACL";
32
33 private static final MCRRequestScopeACLFactory ACL_FACTORY = new MCRRequestScopeACLFactory();
34
35 @Override
36 public void filter(ContainerRequestContext requestContext) throws IOException {
37 requestContext.setProperty(ACL_INSTANT_KEY, (Supplier<MCRRequestScopeACL>) ACL_FACTORY::provide);
38 }
39 }