TBeAlternativeUserBusinessController
TBeAlternativeUserBusinessController
Die Klasse TBeAlternativeUserBusinessController kapselt alle Funktionalitäten die zum Anlegen von Einträgen in den alternativen Logins benötigt werden.
Eigenschaften | Beschreibung |
---|---|
CbDataModule:O | Datenmodul auf dem der BusinessController arbeitet. |
Methoden | Beschreibung | |
---|---|---|
CbInsert_AlternativeUser | Erstelle den im übergebenen BO einen neuen alternativen Login und verbleibt im Bearbeitungs-Modus | |
Parameter | Beschreibung | |
aAlternativeUserBO:O | Objekt vom Typ TBeAlternativeUserBO | |
CbEdit_AlternativeUser | Bearbeiten eines existierenden im übergebenen BO positionierten alternativen Login. | |
Parameter | Beschreibung | |
aAlternativeUserBO:O | Objekt vom Typ TBeAlternativeUserBO | |
CbPost_AlternativeUser | Speichern den alternativen Login im übergebenen und im Neuanlage-/Bearbeitungsmodus befindlichen BO. | |
Parameter | Beschreibung | |
aAlternativeUserBO:O | Objekt vom Typ TBeAlternativeUserBO | |
CbCancel_AlternativeUser | Neuanlage/Bearbeitung eines alternativen Logins abbrechen. | |
Parameter | Beschreibung | |
aAlternativeUserBO:O | Objekt vom Typ TBeAlternativeUserBO | |
CbDelete_AlternativeUser | Entfernt den im übergebenen BO positionierten alternativen Login | |
Parameter | Beschreibung | |
aAlternativeUserBO:O | Objekt vom Typ TBeAlternativeUserBO |
Beispiel
| nAlternativeID |
nAlternativeID := -1, // Benutzer im negativen Bereich sollten nicht existieren
//******************************************************************************
function AddAlternativeLogin(cLoginName, cPassword, cType, nAssociation, cUserNo)
| oBO, oBC, oDM, oBSC, oPRO, oPAO |
oBO := CreateObject('TBeAlternativeUserBO'),
oBC := CreateObject('TBeAlternativeUserBusinessController'),
oDM := CreateObject('TBeDBGet'),
oBSC := CreateObject('TBePermissionSubjectBO'),
oPRO := CreateObject('TBePermissionRoleBO'),
oPAO := CreateObject('TBePermissionRoleAssignmentBO'),
startseq
oBC.CbDataModule := oDM,
DBStartTrans(oDM.ADSConnection),
oBC.CbInsert_AlternativeUser(oBO),
// Name und Password sind Case-Sensitive
oBO.CbLogonName := cLoginName,
oBO.CbUserNoStr := cUserNo,
// Es ist nur möglich sich diesem Hash verfahren einzuloggen (WEB-Tech)
oBO.CbPasswordEncrypted := GeneratePasswordHash(cPassword, ccmHex, hfSHA512),
oBO.CbLoginType := cType,
oBO.CbCustomerNo := nAssociation,
oBC.CbPost_AlternativeUser(oBO, oBSC, oPRO, oPAO),
DBCommit(oDM.ADSConnection),
nAlternativeID := oBO.CbID,
writeln(nAlternativeID),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
DestroyObject(oPAO),
DestroyObject(oPRO),
DestroyObject(oBSC),
DestroyObject(oDM),
DestroyObject(oBC),
DestroyObject(oBO),
stopseq,
end,
function EditAlternativeLogin(nId, cPassword)
| oBO, oBC, oDM, oBSC, oPRO, oPAO |
oBO := CreateObject('TBeAlternativeUserBO'),
oBC := CreateObject('TBeAlternativeUserBusinessController'),
oDM := CreateObject('TBeDBGet'),
oBSC := CreateObject('TBePermissionSubjectBO'),
oPRO := CreateObject('TBePermissionRoleBO'),
oPAO := CreateObject('TBePermissionRoleAssignmentBO'),
startseq
oBC.CbDataModule := oDM,
DBStartTrans(oDM.ADSConnection),
oBO.CbGoToId(nId),
oBC.CbEdit_AlternativeUser(oBO),
// Es ist nur möglich sich diesem Hash verfahren einzuloggen (WEB-Tech)
oBO.CbPasswordEncrypted := GeneratePasswordHash(cPassword, ccmHex, hfSHA512),
oBC.CbPost_AlternativeUser(oBO, oBSC, oPRO, oPAO),
DBCommit(oDM.ADSConnection),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
DestroyObject(oPAO),
DestroyObject(oPRO),
DestroyObject(oBSC),
DestroyObject(oDM),
DestroyObject(oBC),
DestroyObject(oBO),
stopseq,
end,
//******************************************************************************
function DeleteAlternativeLogin(nId)
| oBO, oBC, oDM, oBSC, oPRO, oPAO |
oBO := CreateObject('TBeAlternativeUserBO'),
oBC := CreateObject('TBeAlternativeUserBusinessController'),
oDM := CreateObject('TBeDBGet'),
oBSC := CreateObject('TBePermissionSubjectBO'),
oPRO := CreateObject('TBePermissionRoleBO'),
oPAO := CreateObject('TBePermissionRoleAssignmentBO'),
startseq
oBC.CbDataModule := oDM,
DBStartTrans(oDM.ADSConnection),
oBO.CbGoToId(nId),
oBC.CbDelete_AlternativeUser(oBO, oBSC, oPRO, oPAO),
//oBC.CbPost_AlternativeUser(oBO),
DBCommit(oDM.ADSConnection),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
DestroyObject(oPAO),
DestroyObject(oPRO),
DestroyObject(oBSC),
DestroyObject(oDM),
DestroyObject(oBC),
DestroyObject(oBO),
stopseq,
end,
// Create an alternative login for Customer 10000001
AddAlternativeLogin('ALD_USER1', 'be32', '30', 10000001, '65'),
// Updates with a new password
EditAlternativeLogin(nAlternativeID, 'be64'),
DeleteAlternativeLogin(nAlternativeID),