Class GetRecentLoginHistoryResponseControl
java.lang.Object
com.unboundid.ldap.sdk.Control
com.unboundid.ldap.sdk.unboundidds.controls.GetRecentLoginHistoryResponseControl
- All Implemented Interfaces:
DecodeableControl,Serializable
@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class GetRecentLoginHistoryResponseControl
extends Control
implements DecodeableControl
This class provides an implementation of a response control that can be
included in the response to a successful bind operation to provide
information about recent successful and failed authentication attempts.
This control has an OID of 1.3.6.1.4.1.30221.2.5.62, a criticality of
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
This control has an OID of 1.3.6.1.4.1.30221.2.5.62, a criticality of
false, and a value that is a JSON object with two top-level fields:
successful-attempts and failed-attempts. The value for each of these fields
will be an array of JSON objects with the following fields:
- timestamp -- The timestamp of the login attempt in the ISO 8601 format described in RFC 3339.
- client-ip-address -- A string representation of the IP address of the client that tried to authenticate.
- authentication-method -- The name of the method that the client used when trying to authenticate.
- failure-reason -- A string providing a general reason that the authentication attempt failed (only used for failed attempts).
- additional-attempt-count -- An integer value that indicates how many other attempts were made on the same date with the same settings for all fields except the timestamp.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe OID (1.3.6.1.4.1.30221.2.5.62) for the get recent login history response control. -
Constructor Summary
ConstructorsConstructorDescriptionGetRecentLoginHistoryResponseControl(RecentLoginHistory recentLoginHistory) Creates a new instance of this control with the provided information.GetRecentLoginHistoryResponseControl(String oid, boolean isCritical, ASN1OctetString value) Creates a new instance of this control that is decoded from the provided generic control. -
Method Summary
Modifier and TypeMethodDescriptiondecodeControl(String oid, boolean isCritical, ASN1OctetString value) Creates a new instance of this decodeable control from the provided information.decodeJSONControl(JSONObject controlObject, boolean strict) Attempts to decode the provided object as a JSON representation of a get recent login history response control.get(BindResult bindResult) Extracts a get recent login history response control from the provided bind result.Retrieves the user-friendly name for this control, if available.Retrieves the recent login history contained in this response control.Retrieves a representation of this get recent login history response control as a JSON object.voidtoString(StringBuilder buffer) Appends a string representation of this LDAP control to the provided buffer.Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
Field Details
-
GET_RECENT_LOGIN_HISTORY_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.62) for the get recent login history response control.- See Also:
-
-
Constructor Details
-
GetRecentLoginHistoryResponseControl
Creates a new instance of this control with the provided information.- Parameters:
recentLoginHistory- The recent login history to include in the response control. It must not benull.
-
GetRecentLoginHistoryResponseControl
public GetRecentLoginHistoryResponseControl(@NotNull String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException Creates a new instance of this control that is decoded from the provided generic control.- Parameters:
oid- The OID for the control.isCritical- Indicates whether this control should be marked critical.value- The encoded value for the control.- Throws:
LDAPException- If a problem is encountered while attempting to decode the provided control as a get recent login history response control.
-
-
Method Details
-
decodeControl
@NotNull public GetRecentLoginHistoryResponseControl decodeControl(@NotNull String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException Creates a new instance of this decodeable control from the provided information.- Specified by:
decodeControlin interfaceDecodeableControl- Parameters:
oid- The OID for the control.isCritical- Indicates whether the control should be marked critical.value- The encoded value for the control. This may benullif no value was provided.- Returns:
- The decoded representation of this control.
- Throws:
LDAPException- If the provided information cannot be decoded as a valid instance of this decodeable control.
-
getRecentLoginHistory
Retrieves the recent login history contained in this response control.- Returns:
- The recent login history contained in this response control.
-
get
@Nullable public static GetRecentLoginHistoryResponseControl get(@NotNull BindResult bindResult) throws LDAPException Extracts a get recent login history response control from the provided bind result.- Parameters:
bindResult- The bind result from which to retrieve the get recent login history response control.- Returns:
- The get recent login history response control contained in the
provided bind result, or
nullif the bind result did not contain a get recent login history response control. - Throws:
LDAPException- If a problem is encountered while attempting to decode the get recent login history response control contained in the provided bind result.
-
getControlName
Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.- Overrides:
getControlNamein classControl- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
toJSONControl
Retrieves a representation of this get recent login history response control as a JSON object. The JSON object uses the following fields:-
oid-- A mandatory string field whose value is the object identifier for this control. For the get recent login history response control, the OID is "1.3.6.1.4.1.30221.2.5.62". -
control-name-- An optional string field whose value is a human-readable name for this control. This field is only intended for descriptive purposes, and when decoding a control, theoidfield should be used to identify the type of control. -
criticality-- A mandatory Boolean field used to indicate whether this control is considered critical. -
value-base64-- An optional string field whose value is a base64-encoded representation of the raw value for this get recent login history response control. Exactly one of thevalue-base64andvalue-jsonfields must be present. -
value-json-- An optional JSON object field whose value is a user-friendly representation of the value for this get recent login history response control. Exactly one of thevalue-base64andvalue-jsonfields must be present, and if thevalue-jsonfield is used, then it will use the following fields:-
successful-attempts-- An optional array field whose values are JSON objects with information about recent successful authentication attempts by the user. These JSON objects will use the following fields:-
successful-- A Boolean field that indicates whether the attempt was successful. For JSON objects in thesuccessful-attemptsfield, the value of this field will always betrue. -
timestamp-- A string field whose value is a timestamp (in the ISO 8601 format described in RFC 3339) for the associated authentication attempt. -
authentication-method-- A string field whose value is the name of the attempted authentication method. -
client-ip-address-- A string field whose value is the IP address of the client that tried to authenticate. -
additional-attempt-count-- An optional integer field whose value is the number of additional similar successful attempts on the same date for the same user.
-
-
failed-attempts-- An optional array field whose values are JSON objects with information about recent failed authentication attempts by the user. These JSON objects will use the following fields:-
successful-- A Boolean field that indicates whether the attempt was successful. For JSON objects in thefailed-attemptsfield, the value of this field will always befalse. -
timestamp-- A string field whose value is a timestamp (in the ISO 8601 format described in RFC 3339) for the associated authentication attempt. -
authentication-method-- A string field whose value is the name of the attempted authentication method. -
client-ip-address-- A string field whose value is the IP address of the client that tried to authenticate. -
failure-reason-- A string field whose value is a general reason that the authentication attempt failed. -
additional-attempt-count-- An optional integer field whose value is the number of additional similar successful attempts on the same date for the same user.
-
-
- Overrides:
toJSONControlin classControl- Returns:
- A JSON object that contains a representation of this control.
-
-
decodeJSONControl
@NotNull public static GetRecentLoginHistoryResponseControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException Attempts to decode the provided object as a JSON representation of a get recent login history response control.- Parameters:
controlObject- The JSON object to be decoded. It must not benull.strict- Indicates whether to use strict mode when decoding the provided JSON object. If this istrue, then this method will throw an exception if the provided JSON object contains any unrecognized fields. If this isfalse, then unrecognized fields will be ignored.- Returns:
- The get recent login history response control that was decoded from the provided JSON object.
- Throws:
LDAPException- If the provided JSON object cannot be parsed as a valid get recent login history response control.
-
toString
Appends a string representation of this LDAP control to the provided buffer.
-