List of usage examples for org.springframework.boot.actuate.autoconfigure.cloudfoundry AccessLevel REQUEST_ATTRIBUTE
String REQUEST_ATTRIBUTE
To view the source code for org.springframework.boot.actuate.autoconfigure.cloudfoundry AccessLevel REQUEST_ATTRIBUTE.
Click Source Link
From source file:org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundrySecurityInterceptor.java
private void check(HttpServletRequest request, String endpointId) throws Exception { Token token = getToken(request);//w w w.j av a 2 s .co m this.tokenValidator.validate(token); AccessLevel accessLevel = this.cloudFoundrySecurityService.getAccessLevel(token.toString(), this.applicationId); if (!accessLevel.isAccessAllowed(endpointId)) { throw new CloudFoundryAuthorizationException(Reason.ACCESS_DENIED, "Access denied"); } request.setAttribute(AccessLevel.REQUEST_ATTRIBUTE, accessLevel); }
From source file:org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundryWebEndpointServletHandlerMapping.java
@ResponseBody private Map<String, Map<String, Link>> links(HttpServletRequest request, HttpServletResponse response) { SecurityResponse securityResponse = this.securityInterceptor.preHandle(request, ""); if (!securityResponse.getStatus().equals(HttpStatus.OK)) { sendFailureResponse(response, securityResponse); }//w w w .j ava2 s.c o m AccessLevel accessLevel = (AccessLevel) request.getAttribute(AccessLevel.REQUEST_ATTRIBUTE); Map<String, Link> links = this.endpointLinksResolver.resolveLinks(getEndpoints(), request.getRequestURL().toString()); Map<String, Link> filteredLinks = new LinkedHashMap<>(); if (accessLevel == null) { return Collections.singletonMap("_links", filteredLinks); } filteredLinks = links.entrySet().stream() .filter((e) -> e.getKey().equals("self") || accessLevel.isAccessAllowed(e.getKey())) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); return Collections.singletonMap("_links", filteredLinks); }