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:
net.shibboleth.utilities.java.support.component.Component,net.shibboleth.utilities.java.support.component.DestructableComponent,net.shibboleth.utilities.java.support.component.InitializableComponent,org.opensaml.profile.action.ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class DoLockoutManagerOperation extends net.shibboleth.idp.profile.AbstractProfileActionAction 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.
- Event:
EventIds.PROCEED_EVENT_ID,EventIds.INVALID_PROFILE_CTX,EventIds.IO_ERROR
-
-
Field Summary
Fields Modifier and Type Field Description private StringkeyAccount key to operate on.static StringKEYFlow variable indicating ID of account key.private net.shibboleth.idp.authn.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(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)protected voiddoInitialize()protected booleandoPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)private net.shibboleth.idp.authn.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
-
-
-
-
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.
-
managerId
@Nullable @NotEmpty private String managerId
Manager ID to operate on.
-
key
@Nullable @NotEmpty private String key
Account key to operate on.
-
lockoutManager
@Nullable private net.shibboleth.idp.authn.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 net.shibboleth.utilities.java.support.component.ComponentInitializationException- Overrides:
doInitializein classnet.shibboleth.utilities.java.support.component.AbstractInitializableComponent- Throws:
net.shibboleth.utilities.java.support.component.ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
- Overrides:
doPreExecutein classorg.opensaml.profile.action.AbstractConditionalProfileAction
-
doExecute
protected void doExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
- Overrides:
doExecutein classorg.opensaml.profile.action.AbstractProfileAction
-
getLockoutManager
@Nullable private net.shibboleth.idp.authn.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
-
-