Client principal class

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 application server for a direct login.
  • Creating a sealed ClientPrincipal object (verified by an external authentication system) and sending this object to an application server 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 Learn about 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".