search cancel

User is not able to log in to Process Manager Portal

book

Article ID: 163300

calendar_today

Updated On:

Products

Workflow Solution ServiceDesk

Issue/Introduction

User is not able to log in to Process Manager Portal. In most cases, user is redirected back to the login page, sometimes a 'Verify Session ID' error message is shown in the browser after login attempt.

Usually this affects pass-through login and manual login using domain/username. Sometimes, login by email address can also be affected.

A set of errors are logged in ProcessManager logs and are visible in Workflow Log Viewer:

Application Name : ProcessManager
Log Level :Error
Log Category :LoginService
Message :
[Userman] Error in Login Authentication, SessionID 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found.
Client: IP=xxxx::xxx:xxxx:xxxx:xxxe%3 HostName=xxxx::xxx:xxxx:xxxx:xxxe%3 Browser=xxxxxxx
System.ArgumentNullException: Value cannot be null.
Parameter name: id
   at System.TimeZoneInfo.FindSystemTimeZoneById(String id)
   at LogicBase.Ensemble.Userman.ServiceCore.LoginService.CheckTimeZone(String sessionId, UserInfo userInfo)
   at LogicBase.Ensemble.Userman.ServiceCore.LoginService.AuthenticateHttpRequest(HttpContext context)

 

Application Name : ProcessManager
Log Level :Error
Log Category :global_asax
Message :
Application 'LogicBase.Ensemble' error
Client: IP=xxxx::xxx:xxxx:xxxx:xxxe%3 HostName=xxxx::xxx:xxxx:xxxx:xxxe%3 Browser=xxxxxxx
System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Exception: Verify Session ID failed
   at LogicBase.Ensemble.Userman.Userman.GetUserInfoByEmail(String sessionID, String userEmail)
   at LogicBase.Ensemble.Controls.Header.OnInit(EventArgs e)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

Application Name : ProcessManager
Log Level :Error
Log Category :LoginService
Message :
[Userman] Error in Login Authentication, SessionID 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found.
Client: IP=xxxx::xxx:xxxx:xxxx:xxxe%3 HostName=xxxx::xxx:xxxx:xxxx:xxxe%3 Browser=xxxxxxx
System.NullReferenceException: Object reference not set to an instance of an object.
   at LogicBase.Ensemble.Userman.ServiceCore.LoginService.CheckTimeZone(String sessionId, UserInfo userInfo)
   at LogicBase.Ensemble.Userman.ServiceCore.LoginService.AuthenticateHttpRequest(HttpContext context)

Cause

Affected users do not have a timezone set. Login page does not properly handle the missing timezone information in certain situations.

One of the reasons can also be disabled dynamic timezone detection.

Resolution

I. Sometimes the issue can be resolved by logging user in manually using email address as the login name.

II. Make sure 'Select Time Zone Dynamically' is checked for the affected user in 'Process Manager Settings' tab.

III. Set the timezone manually for the affected user by editing the user settings. In 'Process Manager Settings' tab uncheck 'Select Time Zone Dynamically', set 'Select Time Zone' to any value and re-check 'Select Time Zone Dynamically'.

IV. The issue can be resolved by updating the timezone data for users in the database, making sure all affected users are accounted for.

1. To verify that this is the issue you as facing as well as to find all the affected users, please run this query against the ServiceDesk database (by default named ProcessManager):

SELECT
DynamicallyTimeZone,
SelectTimeZone,
PrimaryEmail,
DisplayName
FROM [User]
WHERE SelectTimeZone IS NULL
AND DynamicallyTimeZone = 0

2. The following query will set the dynamic timezone selection to be enabled as well as set the timezone to a valid value. Both values need to be set for this to work properly.

While dynamic timezone selection will enable the dynamic selection and users will get their timezone set to the correct value at next logon (based on time offset reported by browser) the value in database can be set to more appropriate value than the 'W. Europe Standard Time' currently in the query. Valid values for the database field can be retrived from the Microsoft Time Zone Index Values list - please use the appropriate value from Name of Time Zone column.

UPDATE [User]
SET DynamicallyTimeZone = 1,
SelectTimeZone = 'W. Europe Standard Time'
WHERE SelectTimeZone IS NULL
AND DynamicallyTimeZone = 0

3. Do not log in with any users at this point. In some Workflow versions, user time zone information can be cached and will be reverted to problematic values when login is attempted. 

To avoid this, please restart IIS as well as Symantec Workflow Server service. After this is done, users will be able to log in properly.