.annotations(APPLICATION, filterContext.getMethodSecurity().getApplicationScope()) .annotations(CLASS, filterContext.getMethodSecurity().getResourceScope()) .annotations(METHOD, filterContext.getMethodSecurity().getOperationScope()) .build();
.configMap(configMap) .customObjects(customObjects.orElse(new ClassToInstanceStore<>())) .build());
outboundEp.addAtribute(name, requestContext.getProperty(name));
outboundEp.addAtribute(name, requestContext.getProperty(name));
.annotations(APPLICATION, filterContext.getMethodSecurity().getApplicationScope()) .annotations(CLASS, filterContext.getMethodSecurity().getResourceScope()) .annotations(METHOD, filterContext.getMethodSecurity().getOperationScope()) .build();
.configMap(configMap) .customObjects(customObjects.orElse(new ClassToInstanceStore<>())) .build());
private void registerContext(ServerRequest req, ServerResponse res) { Map<String, List<String>> allHeaders = new HashMap<>(req.headers().toMap()); Optional<Map> newHeaders = req.context().get(CONTEXT_ADD_HEADERS, Map.class); newHeaders.ifPresent(allHeaders::putAll); //make sure there is no context if (!req.context().get(SecurityContext.class).isPresent()) { SecurityEnvironment env = security.environmentBuilder() .targetUri(req.uri()) .path(req.path().toString()) .method(req.method().name()) .addAttribute("userIp", req.remoteAddress()) .addAttribute("userPort", req.remotePort()) .transport(req.isSecure() ? "https" : "http") .headers(allHeaders) .build(); EndpointConfig ec = EndpointConfig.builder() .build(); SecurityContext context = security.contextBuilder(String.valueOf(SECURITY_COUNTER.incrementAndGet())) .tracingSpan(req.spanContext()) .env(env) .endpointConfig(ec) .build(); req.context().register(context); req.context().register(defaultHandler); } req.next(); }
private void registerContext(ServerRequest req, ServerResponse res) { Map<String, List<String>> allHeaders = new HashMap<>(req.headers().toMap()); Optional<Map> newHeaders = req.context().get(CONTEXT_ADD_HEADERS, Map.class); newHeaders.ifPresent(allHeaders::putAll); //make sure there is no context if (!req.context().get(SecurityContext.class).isPresent()) { SecurityEnvironment env = security.environmentBuilder() .targetUri(req.uri()) .path(req.path().toString()) .method(req.method().name()) .addAttribute("userIp", req.remoteAddress()) .addAttribute("userPort", req.remotePort()) .transport(req.isSecure() ? "https" : "http") .headers(allHeaders) .build(); EndpointConfig ec = EndpointConfig.builder() .build(); SecurityContext context = security.contextBuilder(String.valueOf(SECURITY_COUNTER.incrementAndGet())) .tracingSpan(req.spanContext()) .env(env) .endpointConfig(ec) .build(); req.context().register(context); req.context().register(defaultHandler); } req.next(); }
/** * Derive a new endpoint configuration builder based on this instance. * * @return builder to build a modified copy of this endpoint config */ public Builder derive() { Builder result = builder() .attributes(attributes) .customObjects(customObjects) .configMap(configMap); annotations.forEach(result::annotations); return result; }
@Override public SecurityContext build() { if (null == env) { env = SecurityEnvironment.builder(serverTime).build(); } if (null == ec) { ec = EndpointConfig.builder().build(); } return new SecurityContextImpl(this); }
/** * Creates a fluent API builder to build new instances of this class. * * @return a builder instance */ public static Builder builder() { return new Builder(); }
/** * Create an instance of endpoint config with default values (e.g. all empty). * * @return endpoint config instance */ public static EndpointConfig create() { return builder().build(); }