How to SSO enable multiple concurrent sessions of a terminal emulator using Terminal Launcher

  • 7940136
  • 19-Aug-2009
  • 26-Apr-2012

Environment

Novell SecureLogin
NSL 3.51
NSL 6.x
NSL 7.x
Tlaunch.exe

Situation

Customer is using IBM Personal Communications and is SSO enabling multiple backend sessions. They wish to configure SecureLogin to handle multiple concurrent sessions.

They configured the emulator in Terminal Launcher (tlaunch.exe). The following lines in the TLaunch.ini file show the configuration:

Note the name IBM Personal Communications1 (it can be any name you like, the number 1 distinguishes it from other emulators as described later in this document).

----------------
[IBM Personal Communications1]
TerminalType=HLLAPI
HllapiDLLName=C:Program FilesPersonal Communicationspcshll32.dll
HllapiFunctionName=hllapi
HomeDirectory=C:Program Files/Personal Communications
EmulatorPath=C:Program Files/Personal Communicationspcsws.exe
SessionFile01=""C:Program Files/Personal Communicationsprivatemainframe.WS""

----------------
They then created a Terminal Emulator script to SSO enable the system.

However, the script only runs when running one session at a time. If the customer ran multiple sessions, the script would only run for the first session.

Resolution

The customer must assign HLLAPI long and short names so SecureLogin is able to differentiate which session is running and invoke the appropriate script.

HLLAPI long and short names act like a ""tag"" on the session, where one session is tagged as AlphaA and another can be tagged as BravoB etc.

HLLAPI long and short names are defined within the emulator settings.

Create different emulators (in the example below they are IBM Personal Communications 1, 2 and 3) and assign the /s parameter with the HLLAPI long name to the session file.

----------------
[IBM Personal Communications1]
TerminalType=HLLAPI
HllapiDLLName=C:Program Files\Personal Communicationspcshll32.dll
HllapiFunctionName=hllapi
HomeDirectory=C:Program Files\Personal Communications
EmulatorPath=C:Program Files\Personal Communicationspcsws.exe
SessionFile01=""C:Program FilesPersonal Communicationsprivatemainframe.WS"" /s=Alpha

[IBM Personal Communications2]
TerminalType=HLLAPI
HllapiDLLName=C:Program FilesPersonal Communicationspcshll32.dll
HllapiFunctionName=hllapi
HomeDirectory=C:Program Files\Personal Communications
EmulatorPath=C:Program Files\Personal Communicationspcsws.exe
SessionFile01=""C:Program Files\Personal Communicationsprivatemainframe.WS"" /s=Bravo

[IBM Personal Communications3]
TerminalType=HLLAPI
HllapiDLLName=C:Program Files\Personal Communicationspcshll32.dll
HllapiFunctionName=hllapi
HomeDirectory=C:Program Files\Personal Communications
EmulatorPath=C:Program Files\Personal Communicationspcsws.exe
SessionFile01=""C:Program FilesPersonal Communicationsprivatemainframe.WS"" /s=Charlie
----------------

To make life easy for users, you should also create a Terminal Launcher shortcut so the user can simply double click an icon and run the desired SSO enabled emulator.
The shortcuts would be similar to the following;

/p is the Script name
/e is the Emulator name as defined in Terminal Launcher
/h is the HLLAPI short name
/s is suppress errors
/q is quiet mode
/auto is required for the shortcut to run

Shortcut 1
""C:Program Files\Novell\SecureLogin\tlaunch.exe"" /auto /pIBMScript /eIBM Personal Communications1 /hA /s /q /auto

Shortcut 2
""C:Program Files\Novell\SecureLogin\tlaunch.exe"" /auto /pIBMScript /eIBM Personal Communications2 /hB /s /q /auto

Shortcut 3
""C:Program Files\Novell\SecureLogin\tlaunch.exe"" /auto /pIBMScript /eIBM Personal Communications3 /hC /s /q /auto

If the sessions were on different backend systems e.g. Finance, HR etc. you could configure the session file to connect to the appropriate host.