Example usage for org.springframework.boot.actuate.autoconfigure.cloudfoundry AccessLevel isAccessAllowed

List of usage examples for org.springframework.boot.actuate.autoconfigure.cloudfoundry AccessLevel isAccessAllowed

Introduction

In this page you can find the example usage for org.springframework.boot.actuate.autoconfigure.cloudfoundry AccessLevel isAccessAllowed.

Prototype

public boolean isAccessAllowed(String id) 

Source Link

Document

Returns if the access level should allow access to the specified ID.

Usage

From source file:org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundrySecurityInterceptor.java

private void check(HttpServletRequest request, String path) throws Exception {
    Token token = getToken(request);/*from  w  w w.j  a  v a 2  s.  c om*/
    this.tokenValidator.validate(token);
    AccessLevel accessLevel = this.cloudFoundrySecurityService.getAccessLevel(token.toString(),
            this.applicationId);
    if (!accessLevel.isAccessAllowed(path)) {
        throw new CloudFoundryAuthorizationException(CloudFoundryAuthorizationException.Reason.ACCESS_DENIED,
                "Access denied");
    }
    accessLevel.put(request);
}

From source file:org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryWebEndpointServletHandlerMapping.java

@ResponseBody
private Map<String, Map<String, Link>> links(HttpServletRequest request, HttpServletResponse response) {
    CloudFoundrySecurityInterceptor.SecurityResponse securityResponse = this.securityInterceptor
            .preHandle(request, "");
    if (!securityResponse.getStatus().equals(HttpStatus.OK)) {
        sendFailureResponse(response, securityResponse);
    }//  ww  w.j  a va  2s.  c  o m
    AccessLevel accessLevel = AccessLevel.get(request);
    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);
}

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);//from  w  ww.ja va  2s .  c om
    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);
    }//from w  w w . j  a v  a 2  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);
}