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 the
AccountLockoutManager
interface.
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 String
key
Account key to operate on.static String
KEY
Flow variable indicating ID of account key.private AccountLockoutManager
lockoutManager
AccountLockoutManager
to operate on.private org.slf4j.Logger
log
Class logger.static String
MANAGER_ID
Flow variable indicating ID of manager bean to access.private String
managerId
Manager ID to operate on.private com.fasterxml.jackson.databind.ObjectMapper
objectMapper
JSON object mapper. -
Constructor Summary
Constructors Constructor Description DoLockoutManagerOperation()
-
Method Summary
Modifier and Type Method Description protected void
doExecute(ProfileRequestContext profileRequestContext)
protected void
doInitialize()
protected boolean
doPreExecute(ProfileRequestContext profileRequestContext)
private AccountLockoutManager
getLockoutManager(RequestContext requestContext)
Helper method to get the manager bean to operate on.private void
sendError(int status, String title, String detail)
Output an error object.void
setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
Set the JSONObjectMapper
to 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 Details
-
MANAGER_ID
Flow variable indicating ID of manager bean to access.- See Also:
- Constant Field Values
-
KEY
Flow variable indicating ID of account key.- See Also:
- Constant Field Values
-
log
@Nonnull private org.slf4j.Logger logClass logger. -
objectMapper
JSON object mapper. -
managerId
Manager ID to operate on. -
key
Account key to operate on. -
lockoutManager
AccountLockoutManager
to operate on.
-
-
Constructor Details
-
DoLockoutManagerOperation
public DoLockoutManagerOperation()
-
-
Method Details
-
setObjectMapper
public void setObjectMapper(@Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper)Set the JSONObjectMapper
to use for serialization.- Parameters:
mapper
- object mapper
-
doInitialize
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
doPreExecute
- Overrides:
doPreExecute
in classAbstractConditionalProfileAction
-
doExecute
- Overrides:
doExecute
in classAbstractProfileAction
-
getLockoutManager
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
-