@Singleton public class SensitiveEndpointRule extends java.lang.Object implements SecurityRule
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<io.micronaut.inject.ExecutableMethod,java.lang.Boolean> |
endpointMethods
A map where the key represents the method of an endpoint
and the value represents the endpoints sensitivity.
|
static java.lang.Integer |
ORDER
The order of the rule.
|
DENY_ALL, IS_ANONYMOUS, IS_AUTHENTICATED| Constructor and Description |
|---|
SensitiveEndpointRule(io.micronaut.management.endpoint.EndpointSensitivityProcessor endpointSensitivityProcessor)
Constructs the rule with the existing and default endpoint
configurations used to determine if a given endpoint is
sensitive.
|
| Modifier and Type | Method and Description |
|---|---|
protected SecurityRuleResult |
check(io.micronaut.http.HttpRequest<?> request,
java.util.Map<java.lang.String,java.lang.Object> claims,
io.micronaut.inject.ExecutableMethod<?,?> method)
Evaluate the Endpoint's method.
|
SecurityRuleResult |
check(io.micronaut.http.HttpRequest<?> request,
io.micronaut.web.router.RouteMatch<?> routeMatch,
java.util.Map<java.lang.String,java.lang.Object> claims)
Returns a security result based on any conditions.
|
protected SecurityRuleResult |
checkNotSensitive(io.micronaut.http.HttpRequest<?> request,
java.util.Map<java.lang.String,java.lang.Object> claims,
io.micronaut.inject.ExecutableMethod<?,?> method)
Evaluates a non sensitive endpoint.
|
protected SecurityRuleResult |
checkSensitiveAnonymous(io.micronaut.http.HttpRequest<?> request,
io.micronaut.inject.ExecutableMethod<?,?> method)
Evaluates a sensitive endpoint for an anonymous user.
|
protected SecurityRuleResult |
checkSensitiveAuthenticated(io.micronaut.http.HttpRequest<?> request,
java.util.Map<java.lang.String,java.lang.Object> claims,
io.micronaut.inject.ExecutableMethod<?,?> method)
Evaluates a sensitive endpoint for an authenticated user.
|
protected java.lang.String |
endpointName(io.micronaut.inject.ExecutableMethod<?,?> method) |
int |
getOrder() |
public static final java.lang.Integer ORDER
protected final java.util.Map<io.micronaut.inject.ExecutableMethod,java.lang.Boolean> endpointMethods
public SensitiveEndpointRule(io.micronaut.management.endpoint.EndpointSensitivityProcessor endpointSensitivityProcessor)
endpointSensitivityProcessor - The endpoint configurationspublic SecurityRuleResult check(io.micronaut.http.HttpRequest<?> request, @Nullable io.micronaut.web.router.RouteMatch<?> routeMatch, @Nullable java.util.Map<java.lang.String,java.lang.Object> claims)
SecurityRulecheck in interface SecurityRulerequest - The current requestrouteMatch - The matched route or empty if no route was matched. e.g. static resource.claims - The claims from the token. Null if not authenticatedSecurityRuleResult@NonNull protected SecurityRuleResult check(@NonNull io.micronaut.http.HttpRequest<?> request, @Nullable java.util.Map<java.lang.String,java.lang.Object> claims, @NonNull io.micronaut.inject.ExecutableMethod<?,?> method)
request - HTTP Requestclaims - Claims of authenticated user. null if the user is not authenticatedmethod - Route methodpublic int getOrder()
getOrder in interface io.micronaut.core.order.Ordered@NonNull protected SecurityRuleResult checkSensitiveAuthenticated(@NonNull io.micronaut.http.HttpRequest<?> request, @NonNull java.util.Map<java.lang.String,java.lang.Object> claims, @NonNull io.micronaut.inject.ExecutableMethod<?,?> method)
request - HTTP Requestclaims - Claims of authenticated user.method - Endpoint's method@NonNull protected SecurityRuleResult checkSensitiveAnonymous(@NonNull io.micronaut.http.HttpRequest<?> request, @NonNull io.micronaut.inject.ExecutableMethod<?,?> method)
request - HTTP Requestmethod - Endpoint's method@NonNull protected SecurityRuleResult checkNotSensitive(@NonNull io.micronaut.http.HttpRequest<?> request, @Nullable java.util.Map<java.lang.String,java.lang.Object> claims, @NonNull io.micronaut.inject.ExecutableMethod<?,?> method)
request - HTTP Requestclaims - Claims of authenticated user. null if the user is not authenticated.method - Endpoint's method@NonNull
protected java.lang.String endpointName(@NonNull
io.micronaut.inject.ExecutableMethod<?,?> method)
method - Endpoint's method