VistA Analysis » VistA Reference » RPCs » XUS AV CODE

XUS AV CODE

This API checks if a ACCESS/VERIFY code pair is valid.It returns an array of values R(0)=DUZ if sign-on was OK, zero if not OK.R(1)=(0=OK, 1,2…=Can’t sign-on for some reason).R(2)=verify needs changing.R(3)=Message.R(4)=0R(5)=count of the number of lines of text, zero if none.R(5+n)=message text.

Properties

Property Value
Label VALIDAV
MUMPS Implementation XUSRB
Return Type ARRAY

Input Parameters

Name Type Maximum Data Length Required Description
AVCODE LITERAL 60 true accessCode_";"_verifyCode in unencrypted form.

MUMPS Method Description

Property Value
Method VALIDAV^XUSRB
Method Comment RPC. XUS CVC - IA #6296
Input Parameters AVCODE
First Comment
Check a users access
Return R(0)=DUZ, R(1)=(0=OK, 1,2...=Can't sign-on for some reason)
R(2)=verify needs changing, R(3)=Message, R(4)=0, R(5)=msg cnt, R(5+n)
R(R(5)+6)=# div user must select from, R(R(5)+6+n)=div
Code
 N X,XUSER,XUNOW,XUDEV,XUM,XUMSG,%1,VCCH K DUZ
S U="^",RET(0)=0,RET(5)=0,XUF=$G(XUF,0),XUM=0,XUMSG=0,XUDEV=0
S DUZ=0,DUZ(0)="",VCCH=0 D NOW
S XOPT=$$STATE^XWBSEC("XUS XOPT")
S XUMSG=$$INHIBIT() I XUMSG S XUM=1 G VAX ;Logon inhibited
I $$LKCHECK^XUSTZIP($G(IO("IP"))) S XUMSG=7 G VAX ;IP locked
I $L(AVCODE) D
. I $E(AVCODE,1,2)="~1" S DUZ=$$CHKASH^XUSRB4(AVCODE),DUZ("AUTHENTICATION")="ASHTOKEN" Q
. I $E(AVCODE,1,2)="~2" S DUZ=$$CHKCCOW^XUSRB4(AVCODE),DUZ("AUTHENTICATION")="CCOWTOKEN" Q
. S DUZ=$$CHECKAV^XUS($$DECRYP^XUSRB1(AVCODE)),DUZ("AUTHENTICATION")="AVCODES"
. Q
I DUZ'>0,$$FAIL^XUS3 D G VAX
. S XUM=1,XUMSG=7,X=$$RA^XUSTZ H 5 ;3 Strikes
S XUMSG=$$UVALID^XUS() G:XUMSG VAX ;Check User
S VCCH=$$VCVALID() ;Check VC
I $G(DUZ("LOA"))="" S DUZ("LOA")=2
I DUZ>0 S XUMSG=$$POST(1)
I XUMSG>0 S DUZ=0,VCCH=0 ;If can't sign-on, don't tell need to change VC
I 'XUMSG,VCCH S XUMSG=12 D SET^XWBSEC("XUS DUZ",DUZ) ;Need to change VC

CPRS

File Type Description
Executable Only  


Document generated on August 31st 2022, 2:55:43 pm