public class RoleDimensionApiFilterRequestMapper extends ChainingRequestMapper<DataApiRequest>
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_SECURITY_MESSAGE |
static String |
SECURITY_SIGNUP_MESSAGE_KEY |
| Constructor and Description |
|---|
RoleDimensionApiFilterRequestMapper(ResourceDictionaries resourceDictionaries,
Dimension dimension,
Map<String,Set<ApiFilter>> roleApiFilters,
RequestMapper<DataApiRequest> next)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected Set<ApiFilter> |
buildSecurityFilters(javax.ws.rs.core.SecurityContext securityContext)
Collect all the whitelist filters generated by roles in this security context.
|
protected DataApiRequest |
internalApply(DataApiRequest request,
javax.ws.rs.container.ContainerRequestContext context)
Rewrite and Validate the ApiRequest(e.g.
|
protected ApiFilters |
mergeSecurityFilters(Map<Dimension,Set<ApiFilter>> requestFilters,
Set<ApiFilter> securityFilters)
Merge the request filters with the dimension filters for this request.
|
protected static Set<ApiFilter> |
unionMergeFilterValues(Stream<ApiFilter> filterStream)
For a set of ApiFilters collect by dimension, field and operation, and union their value sets.
|
protected void |
validateSecurityFilters(Principal userPrincipal,
Set<ApiFilter> mergedSecurityFilters)
Verify that, given this user, that at least some of the whitelisted filters have been collected.
|
applygetResourceDictionariespublic static final String SECURITY_SIGNUP_MESSAGE_KEY
public static final String DEFAULT_SECURITY_MESSAGE
public RoleDimensionApiFilterRequestMapper(ResourceDictionaries resourceDictionaries, Dimension dimension, Map<String,Set<ApiFilter>> roleApiFilters, RequestMapper<DataApiRequest> next)
resourceDictionaries - The dictionaries to use for request mapping.dimension - The dimension whose roles are being matchedroleApiFilters - ApiFilters by role for a given dimensionnext - The next request mapper to process this ApiRequestprotected DataApiRequest internalApply(DataApiRequest request, javax.ws.rs.container.ContainerRequestContext context) throws RequestValidationException
ChainingRequestMapperThis should throw an exception if the given/converted request is not valid.
internalApply in class ChainingRequestMapper<DataApiRequest>request - the apiRequest to rewritecontext - the ContainerRequestContext containing user and request informationRequestValidationException - with the HTTP status and user-facing error msg to abort with
if the request is not validprotected ApiFilters mergeSecurityFilters(Map<Dimension,Set<ApiFilter>> requestFilters, Set<ApiFilter> securityFilters)
requestFilters - The set of all ApiFilters from a requestsecurityFilters - The filters produced by merging role-based filtersprotected void validateSecurityFilters(Principal userPrincipal, Set<ApiFilter> mergedSecurityFilters) throws RequestValidationException
userPrincipal - The userPrincipal being validatedmergedSecurityFilters - The combined security filters for this requestRequestValidationException - An http request exception documenting the lack of privilegesprotected Set<ApiFilter> buildSecurityFilters(javax.ws.rs.core.SecurityContext securityContext)
securityContext - The security context of the request.protected static Set<ApiFilter> unionMergeFilterValues(Stream<ApiFilter> filterStream)
filterStream - Stream of ApiFilters whose values are to be unionedCopyright © 2016–2018 Yahoo! Inc.. All rights reserved.