[.NET programming language only]

Programming client authentication for WebSphere eXtreme Scale Client for .NET

To send credentials from the WebSphere® eXtreme Scale Client for .NET to the server side, you must implement the ICredentialGenerator and ICredential interfaces. These interfaces generate a credential object that is passed to the data grid and interpreted on the server side. On the server side, the corresponding plug-in interprets the credential object.

About this task

To complete authentication, your .NET application must implement the following interfaces: When a .NET client application connects to a server that requires authentication, the client is required to provide a client credential. A client credential is represented by the ICredential interface. A client credential can be a user name and password pair, a Kerberos ticket, a client certificate, or data in any format that the client and server agree upon. This interface explicitly defines the equals(Object) and hashCode methods. These two methods are important because the authenticated Subject objects are cached by using the Credential object as the key on the server side. You can also generate a credential with the ICredentialGenerator interface. This interface is useful when the credential can expire. A new credential is generated whenever the Credential property is obtained.

You can also use the provided CredentialGenerator plug-in to create a credential that is based on the credentialGeneratorProps= setting in the Client.Net.Properties file. The additional settings that define the credential plug-in are credentialGeneratorAssembly and credentialGeneratorClass.

Procedure

Implement the ICredentialGenerator and ICredential interfaces in your .NET application.
Remember: If the you implement this client credential plug-in, then you must also implement a corresponding server credential plug-in that can interpret and receive the authentication credentials from the WebSphere eXtreme Scale Client for .NET.
You can use the following examples to develop your application: