Skip to main content
Skip table of contents

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

CODE
| 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),

Weitere Verknüpfungen


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.