Users see that the login to Strategy Web takes approximately 5 seconds when using the sample External Security Module for SSO while the out of the box login takes less than 1 second in Strategy Web version 9.0.x.
One of the causes for this performance degradation is the following method highlighted below that has been appended to the sample ESM class available under the Strategy SDK folder in version 9.0.x.
//get adminSession from cache
WebIServerSession adminSession = (WebIServerSession) asCache.get(new ServerHint(IServer, portNum));
//set client id
adminSession.setClientID(cntSvcs.getRemoteAddress());
The above method sets the value of the client identifier, which tells the Intelligence Server upon login the identifier of the client machine. This code is required if users want to see the IP of the client machine (the machine from which the user tries to login) in the User Connection monitor in Desktop or to populate the ClientMachine column in IS_SESSION_STATS which otherwise would display NULL.
If users are not concerned about displaying the ClientID in the locations specified above they can delete the above method which would improve the performance significantly.
CUSTOMIZATION WARNING:
This customization is provided as a convenience to Strategy users and is only directly applicable to the version stated. While this code may apply to other releases directly, Strategy Technical Support makes no guarantees that the code provided will apply to any future or previous builds. In the event of a code change in future builds, Strategy Technical Support makes no guarantee that an updated version of this particular customization will be provided. In the event of a code change in future builds, Strategy may not be able to provide additional code on this matter even though this customization is provided at this time for this specific build. For enhancements to this customization or to incorporate similar functionality into other versions, contact your Account Executive to inquire about Strategy Consulting assistance.