Package net.shibboleth.idp.authn.impl
Class DoLockoutManagerOperation
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.profile.action.AbstractConditionalProfileAction
-
- net.shibboleth.idp.profile.AbstractProfileAction
-
- net.shibboleth.idp.authn.impl.DoLockoutManagerOperation
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class DoLockoutManagerOperation extends AbstractProfileAction
Action that implements a JSON REST API for theAccountLockoutManagerinterface.The API supports GET, POST, and DELETE at the moment, using jsonapi.org conventions.
- GET
- Check for lockout.
- POST
- Increment lockout.
- DELETE
- Clear lockout count.
-
-
Field Summary
Fields Modifier and Type Field Description private StringkeyAccount key to operate on.static StringKEYFlow variable indicating ID of account key.private AccountLockoutManagerlockoutManagerAccountLockoutManagerto operate on.private org.slf4j.LoggerlogClass logger.static StringMANAGER_IDFlow variable indicating ID of manager bean to access.private StringmanagerIdManager ID to operate on.private com.fasterxml.jackson.databind.ObjectMapperobjectMapperJSON object mapper.
-
Constructor Summary
Constructors Constructor Description DoLockoutManagerOperation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(ProfileRequestContext profileRequestContext)protected voiddoInitialize()protected booleandoPreExecute(ProfileRequestContext profileRequestContext)private AccountLockoutManagergetLockoutManager(RequestContext requestContext)Helper method to get the manager bean to operate on.private voidsendError(int status, String title, String detail)Output an error object.voidsetObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)Set the JSONObjectMapperto use for serialization.-
Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction
doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy
-
Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationCondition
-
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
MANAGER_ID
@Nonnull @NotEmpty public static final String MANAGER_ID
Flow variable indicating ID of manager bean to access.- See Also:
- Constant Field Values
-
KEY
@Nonnull @NotEmpty public static final String KEY
Flow variable indicating ID of account key.- See Also:
- Constant Field Values
-
log
@Nonnull private org.slf4j.Logger log
Class logger.
-
objectMapper
@NonnullAfterInit private com.fasterxml.jackson.databind.ObjectMapper objectMapper
JSON object mapper.
-
lockoutManager
@Nullable private AccountLockoutManager lockoutManager
AccountLockoutManagerto operate on.
-
-
Method Detail
-
setObjectMapper
public void setObjectMapper(@Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper)Set the JSONObjectMapperto use for serialization.- Parameters:
mapper- object mapper
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(ProfileRequestContext profileRequestContext)
- Overrides:
doPreExecutein classAbstractConditionalProfileAction
-
doExecute
protected void doExecute(ProfileRequestContext profileRequestContext)
- Overrides:
doExecutein classAbstractProfileAction
-
getLockoutManager
@Nullable private AccountLockoutManager getLockoutManager(@Nonnull RequestContext requestContext)
Helper method to get the manager bean to operate on.- Parameters:
requestContext- current SWF request context- Returns:
- lockout manager or null
-
sendError
private void sendError(int status, @Nonnull @NotEmpty String title, @Nonnull @NotEmpty String detail) throws IOExceptionOutput an error object.- Parameters:
status- HTTP statustitle- fixed error descriptiondetail- human-readable error description- Throws:
IOException- if unable to output the error
-
-