accountinfo userid password logintime loginmachinename lastlogintime jobclass onserivcesessioninfo...
TRANSCRIPT
AccountInfo
userID
password
loginTime
loginMachineName
lastLoginTime
jobClass
OnSerivceSessionInfo
userID
onServiceSessionID
signinTime
loginSessionInfo
serviceSeeeionID
loginSessionID
jobClass
userRole
loginTime
occupiedLogicalResource
occupiedPhyscialResource
ServiceSessionHistory
serviceSessionID
userID
signinTime
signOutTime
pagePermissionTable
userRole
jobClass
pagePermissionBitString
pagePermissionNameTable
pagePermissionNameIndex
pagePermissionName
AAA Database Schema on MeMDAS server
loginSessionHistory
loginSessionID
serviceSeeeionID
userID
jobClass
userRole
loginTime
logoutTime
occupiedLogicalResource
occupiedPhyscialResource
objectPermissionBitString
objectPermissionNameTableobjectPermissionNameIndex
objectPermissionName
loginMachineName
loginMACAddress
loginMachineName
loginMACAddress
1 1 0 0 1 1
pagePermissionBitString
pagePermissionNameTablepagePermissionNameIndex
pagePermissionName
0 LoginPage1 PatientSelectionPage2 MedicationLocationTextPage3 MedicationGraphicalDisplayPage
0:Page is invalid1:Page is vaild
1 0 1 0 0 1
objectPermissionBitString
objectPermissionNameTableobjectPermissionNameIndex
objectPermissionName
0 PrescriptionInfo1 PatientRecord2 ServerConfiguration
…etc …etc
0:Page is Read only1:Page is Read and Write
AAA Data Format
AAA Data structure
PERMISSIONMAPPINGTABLE(Key: Job class & Role class)
MUMS_SIGNIN_REQUEST
MUMSID
UserName[LOGIN_USER_NAME_LENGTH];WCHAR
WCHAR Password[LOGIN_PASSWORD_LENGTH];
HANDLE
UserRoleUSER_ROLE
pagePermissionBitString
objectPermissionBitString
LOGIN_SESSION_INFO
LoginSessionID
UserRole USER_ROLE
HANDLE
JOB_CLASS JobClass
STRING LoiginTime
AAA_SESSION_INFO
OnServiceSessionID
LoginSessionInfo LIST_ENTRY
HANDLE
WCHAR UserName
pagePermissionBitString
objectPermissionBitString
pagePermissionBitString
objectPermissionBitString
LoiginMachineName
LoiginMACAddress
STRING
STRING
MeMDAS Server MUMS DMUMS server
AAA
Alice sign in
Alice: log-in
Sign-in Alice
Alice’s session id & permissions
- Add Alice to NursesOnService- Create data for Alice, etc.
Log-in Alice
- Authenticate Alice- Create Alice’s session.
- Alice’s session id and permissions- IP address of Alice’s MUMS server
RFC
ACK
Close
Alice: log-outLog-out Alice
Alice logged out
(a)
Create Alice’s session data
Delete Alice’s session data
MeMDAS Server MUMS DMUMS server
AAA
Alice sign in
Alice: log-in
Sign-in Alice
Alice’s session id & permissions
- Add Alice to NursesOnService- Create data for Alice, etc.
Log-in Alice
Alice: log-out
Create Alice’s session data
RFA (Alice)
Alice’s psword Alice’s permissions
Log-out Alice
Alice: log-inLog-in Alice
Alice’s permissions
- Authenticate Alice- Create Alice’s login session
(b)
AAA Calling Sequence SignIn
AAASignIn()Send BaMU_SIGNIN_REQUEST
AAA module
DRMSendRequest()
DBDB
Authentication
SuccessCreate ServiceSessionReturn OnServiceSessioninfo
DRMSendRequest()
BaMU
ReturnAAA_SESSION_INFO
Build Permission listAAA_SESSION_INFO
AAA Calling Sequence SignOut
AAASignout()Send AAA_SESSION_INFO
AAA module
DRMSendRequest()
DBDB
Get ServiceSession
Release ServiceSessionReturn TRUE/FALSE
DRMSendRequest()
BaMU
ReturnTRUE/FALSE
Release ServiceSession resources
Check Parameter
AAA Calling Sequence Login
AAALogin()Send BaMU_LOGIN_REQUEST
AAA module
DRMSendRequest()
DBDB
Authentication
SuccessCreate LoginSessionReturn LoginSessioninfo
DRMSendRequest()
BaMU
ReturnAAA_SESSION_INFO
Build Permission listAAA_SESSION_INFO
Check is On DutyCheck Parameter
AAA Calling Sequence LogOut
AAALogout()Send AAA_SESSION_INFO
AAA module
DRMSendRequest()
DBDB
Get LoginSession
Release LoginSessionReturn TRUE/FALSE
DRMSendRequest()
BaMU
ReturnTRUE/FALSE
Release LoginSession resources
Check Parameter
AAA Calling Sequence StateAuth
AAAStateAuth()Send AAA_SESSION_INFOBAMU_PAGE_NAME
AAA module BaMU
ReturnPERMISSION_NAME
ReturnPERMISSION_NAME
Check Permission list
AAA Calling Sequence RoleSwitch
AAARoleSwitch()Send LOGIN_SESSION_INFO
AAA module
DRMSendRequest()
DBDB
Update LoginSession
Return TRUE/FALSE
DRMSendRequest()
BaMU
Refresh BaMU UI
Check Parameter
AAA Calling Sequence Delegate
AAADelegate()Send BAMU_LOGIN_REQUEST
AAA module
DRMSendRequest()
DBDBGet on-duty nurse
Return on-duty nurse
DRMSendRequest()
BaMU A
Refresh BaMU UIDisplay on-duty nurse list
Check Parameter
BaMU B
Select nurseWait for selected nurse responded AAADelegate()
Send BAMU_LOGIN_REQUEST
DRMSendRequest()
DRMSendRequest()
Update login serssion
Finished delegate
Refresh BaMU GUI