SecureLogin enters credentials on screens that have no username or password fields

  • 7010077
  • 30-Jan-2012
  • 26-Apr-2012

Environment

Novell SecureLogin
NSL 7.x
Meditech 5.65  (Windows version)
Other Windows applications
Login page can only be identified by title.
Unable to uniquely identify the login page.

Situation

SecureLogin executes when it should not.
SecureLogin enters name and passwords on screens that have no username or password fields.
Page with title identical to the login page  (but with no login fields) flashes briefly on screen when selected menu options are chosen, causing SecureLogin to act.
SecureLogin is unable to read anything except the title of the login screen, making it impossible to differentiate the login page from the screens that flash

Resolution

Add  “Delay ” and “If – Text ” commands  to the application definition script to prevent it from executing unless the page stays on the screen long enough to be the actual login page.  Use the title of the page from the dialog statement as the text specified with “If -text .” 

Additional Information

SecureLogin detects and acts upon the screen that flashes by because it meets all the criteria defined in the Dialog statement.  Add a delay and tell SecureLogin to only act if the title is still on the page after the delay period.  For example, the following Notepad script will present a message box only if the title remains unchanged for one half second:

Dialog
 Class "Notepad"
 Title "Untitled - Notepad"
EndDialog

Delay 500

If -Text "Untitled - Notepad"
   MessageBox  "The window with the desired title is still here."
Else
  EndScript
EndIf

Substitute the title of the desired login page in the dialog statement, and replace the MessageBox command with those used to enter the username and password.


Note:  In some cases it may also be possible to use the “Increment ” command,  add a counter variable, and direct SecureLogin to only execute the first time the page appears (e.g. if  this counter variable is less than one).    In the case of Meditech for Windows 5.65 however,  a new instance of the Meditech executable is spawned with each menu selection (as shown in Windows Task Manager), and the variable is set to <not set > with each new instance of the executable.  This made it impossible to rely on a counter in the script.