Kbase P84715: Dynamics: Users not logged in on appserver from Sonic
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  6/22/2004 |
|
Status: Unverified
FACT(s) (Environment):
Dynamics 2.1A
SYMPTOM(s):
Dynamics: Users not logged in on appserver from Sonic
as_connect just authenticates the user
as_connect does not log the user in to the Dynamics server
After running just as_connect from the Sonic endpoint (or non-Dynamics client) user is authenticated on the appserver, but not logged in to the framework. This means that any API that needs a user_obj fails (like session manager API updateErrorLog). The current functionality of as_connect does not include log in functionality.
FIX:
To log the user in, the following piece of code needs to be inserted somewhere
on the server side after the call to as_connect and before the first call
requiring users to be logged in:
RUN checkUser IN gshSecurityManager (INPUT pcLoginName,
INPUT pcPassword,
INPUT pdCompanyObj,
INPUT pdLanguageObj,
OUTPUT pdCurrentUserObj,
OUTPUT pcCurrentUserName,
OUTPUT pcCurrentUserEmail,
OUTPUT pcCurrentOrganisationCode,
OUTPUT pcCurrentOrganisationName,
OUTPUT pcCurrentOrganisationShort,
OUTPUT pcCurrentLanguageName,
OUTPUT pcFailedReason).
IF pcFailedReason = ??:U THEN
DO:
ASSIGN
cPropertyList = "CurrentUserObj,CurrentUserLogin,CurrentUserName,CurrentUserEmail,
CurrentOrganisationObj,CurrentOrganisationCode,CurrentOrganisationName,
CurrentOrganisationShort,CurrentLanguageObj,CurrentLanguageName,
CurrentProcessDate,CurrentLoginValues,DateFormat,LoginWindow":U
cValueList = STRING(pdCurrentUserObj) + CHR(3)
+ pcLoginName + CHR(3)
+ pcCurrentUserName + CHR(3)
+ pcCurrentUserEmail + CHR(3)
+ STRING(pdCompanyObj) + CHR(3)
+ pcCurrentOrganisationCode + CHR(3)
+ pcCurrentOrganisationName + CHR(3)
+ pcCurrentOrganisationShort + CHR(3)
+ STRING(pdLanguageObj) + CHR(3)
+ pcCurrentLanguageName + CHR(3)
+ STRING(ptCurrentProcessDate,pcDateFormat) + CHR(3)
+ pcCurrentLoginValues + CHR(3)
+ pcDateFormat + CHR(3)
+ pcLoginProc.
DYNAMIC-FUNCTION("setPropertyList":U IN gshSessionManager,
INPUT cPropertyList,
INPUT cValueList,
INPUT NO).
END.