OpenEdge provides a client principal class, com.progress.open4gl.javaproxy.ClientPrincipal. A ClientPrincipal object provides a means to store and transmit user credentials. The ClientPrincipal object supports the following use cases:
Creating an unsealed ClientPrincipal object containing a user's credentials and sending this object to an AppServer for a direct login.
Creating a sealed ClientPrincipal object (verified by an external authentication system) and sending this object to an AppServer for a single sign-on.
The Java client principal class mirrors the implementation of the client principal class in ABL. For more detailed information on the ABL implementation, see OpenEdge Getting Started: Identity Management.
The following constructor specifies the qualified user ID (composed of the user ID and domain), session ID, expiration date, and pass phrase:
Syntax
public ClientPrincipal(String qualifiedUserID, String sessionID,
GregorianCalendar expirationDateTime,
String primaryPassphrase)
An alternate version of the constructor can initialize the object by passing a byte array that contains a serialized ClientPrincipal object:
Syntax
public ClientPrincipal(Byte[] serializedCP)
Calling the constructor with no parameters creates a ClientPrincipal object with all String-valued attributes set to null, all long integer-valued attributes set to 0, and the loginState attribute set to "INITIAL".