Consultor Eletrônico



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.