How to Use Optional Explicit-Level Override Authentication
Clicking the Allow application override check box enables applications to supply credentials at run time through a callback mechanism supplied by Transaction Integrator (TI). Using application override does not require the installation and use of Host Integration Server Enterprise Single Sign-On (ESSO). Instead, the client application supplies TI with a pointer to a callback object that can be used to request credentials when they are needed at run time. A utility component is provided so that customers can add their callback pointer to the context, and create new COM+ objects that inherit from the modified context. The security callback component is automatically installed.
Note
Explicit-Level Override Authentication is not the preferred method of specifying credentials for a client. If possible, you should use the Client Context USERID and PASSWORD override keywords. For more information, see the COMTIContext Keywords.
To use explicit security, the client application must follow these steps:
To use explicit security
Create an instance of an object that implements
IHostSecurityCallback
.This object is created in the client application and is implemented by the developer.
Create an instance of the TI utility object
COMTI.HostSecurityContext
.Call
SetCallbackObject
on the utility object, and pass it theIHostSecurityCallback
pointer on the callback object.Create instances of its TI component by using the
CreateInstance
method on the security utility object.When the TI component instance created in step 4 establishes a conversation with the host, it calls the
ReturnSecurityInfo
method on the callback object. TI passes this method the name of the remote environment being contacted. The output parameters provide the logon and password as clear text.As an additional aid to developers, TI provides the type information for the
IHostSecurityCallback
interface inside the component library for the TI security component. This enables Visual Basic developers to set a reference to this component and then use theImplements
keyword to implement the callback class.