project BLF > class PAuthentication > method Authenticate
Description
Authentication of a user in mfg/pro
Parameters
tASRequest | input | temp-table | |
dASResponse | output | dataset | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/pauthentication.p)
If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.
empty temp-table ttAsRequest.
empty temp-table ttSessionToken.
empty temp-table ttDomainSet.
empty temp-table ttCompanySet.
empty temp-table ttControlFlags.
for each tASRequest:
create ttAsRequest.
assign ttAsRequest.tt_userid = tASRequest.tcMfgUserId
ttAsRequest.tt_password = tASRequest.tcPassword.
end.
assign vhIn = dataset dsAsRequest:handle
vhOut = dataset dsAsResponse:handle
vhInOut = ?.
Create Dataset vhInOut in widget-pool "non-persistent".
vhInOut:name = "CallService".
<M-1 run CallService
(input '':U (icProgramName),
input 'authenticate':U (icMethodName),
input vhIn By-reference (izInput),
input-output vhInOut By-reference (bzInputOutput),
input-output vhOut By-reference (bzOutput),
input '' (icAsyncHandler),
output viFcReturnSuper (oiReturnStatus)) in PAuthentication>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
then do:
delete object vhInOut.
return.
end.
empty temp-table tCompanySet.
empty temp-table tControlFlags.
empty temp-table tDomainSet.
empty temp-table tSessionToken.
for each ttSessionToken :
create tSessionToken.
assign tSessionToken.tcMfgSessionId = ttSessionToken.tt_session_id
tSessionToken.tcMfgClientPrincipal = ttSessionToken.tt_client_principal.
end.
for each ttDomainSet:
create tDomainSet.
assign tDomainSet.tcDomName = ttDomainSet.tt_dom_name
tDomainSet.tcDomType = ttDomainSet.tt_dom_type
tDomainSet.tcUddDomain = ttDomainSet.tt_udd_domain
tDomainSet.tlUddPrimary = ttDomainSet.tt_udd_primary.
end.
for each ttCompanySet.
create tCompanySet.
assign tCompanySet.tcUcdEntity = ttCompanySet.tt_ucd_entity
tCompanySet.tcUcdUserId = ttCompanySet.tt_ucd_userid
tCompanySet.tcUddDomain = ttCompanySet.tt_ucd_domain
tCompanySet.tlUcdPrimary = ttCompanySet.tt_ucd_primary.
end.
for each ttControlFlags:
create tControlFlags.
assign tControlFlags.tcResponseCode = ttControlFlags.tt_responseCode
tControlFlags.tiPasswordWillExpire = ttControlFlags.tt_passwdWillExpire
tControlFlags.tlDisplayUserId = ttControlFlags.tt_displayUserId
tControlFlags.tlForcedPasswordChange = ttControlFlags.tt_forcedPasswordChange
tControlFlags.tlOptionalPasswordChange = ttControlFlags.tt_optionalPasswordChange .
end.
delete object vhInOut.
If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.