ajout methodes pour recuperer/modifier les identifiants de fournisseurs

This commit is contained in:
nclapies 2004-01-20 18:02:55 +00:00
parent a20df22137
commit 267986e1e9
1 changed files with 76 additions and 12 deletions

View File

@ -334,7 +334,7 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
raise faults.MissingItem(electionId)
return object.voteTokens[electionId]
def getLocalNameIdentifier(self, peerHostName):
def getLocalNameIdentifierServiceProvider(self, peerHostName):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
@ -344,7 +344,7 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
return identityIdentification.localNameIdentifier
return None
def getPeerNameIdentifier(self, peerHostName):
def getPeerNameIdentifierServiceProvider(self, peerHostName):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
@ -354,6 +354,26 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
return identityIdentification.peerNameIdentifier
return None
def getLocalNameIdentifierIdentityProvider(self, peerHostName):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
if object.serviceIdentifications is not None:
for serviceIdentification in object.serviceIdentifications:
if serviceIdentification.peerHostName==peerHostName:
return serviceIdentification.localNameIdentifier
return None
def getPeerNameIdentifierIdentityProvider(self, peerHostName):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
if object.serviceIdentifications is not None:
for serviceIdentification in object.serviceIdentifications:
if serviceIdentification.peerHostName==peerHostName:
return serviceIdentification.peerNameIdentifier
return None
def getUserId(self):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
@ -384,13 +404,10 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
def registerPublicMethods(self):
objects.ObjectsServer.registerPublicMethods(self)
self.registerPublicMethod('getLocalNameIdentifier')
self.registerPublicMethod('getPeerNameIdentifier')
self.registerPublicMethod('setLocalNameIdentifier')
self.registerPublicMethod('setPeerNameIdentifier')
self.registerPublicMethod('getLocalNameIdentifierServiceProvider')
self.registerPublicMethod('getPeerNameIdentifierServiceProvider')
self.registerPublicMethod('getLocalNameIdentifierIdentityProvider')
self.registerPublicMethod('getPeerNameIdentifierIdentityProvider')
self.registerPublicMethod('abstainForVote')
self.registerPublicMethod('checkIdentityLocalNameIdentifier')
self.registerPublicMethod('checkIdentityPeerNameIdentifier')
@ -400,6 +417,11 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
self.registerPublicMethod('getUserToken')
self.registerPublicMethod('rememberId')
self.registerPublicMethod('setContainsUser')
self.registerPublicMethod('setLocalNameIdentifierIdentityProvider')
self.registerPublicMethod('setLocalNameIdentifierServiceProvider')
self.registerPublicMethod('setPeerNameIdentifierIdentityProvider')
self.registerPublicMethod('setPeerNameIdentifierServiceProvider')
self.registerPublicMethod('vote')
def rememberId(self, id):
@ -431,7 +453,23 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
def setContainsUser(self, set):
return setContains(set, self.getUserId())
def setLocalNameIdentifier(self, peerHostName, newLocalNameIdentifier):
def setLocalNameIdentifierIdentityProvider(
self, peerHostName, newLocalNameIdentifier):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
if object.serviceIdentifications is not None:
for serviceIdentification in object.serviceIdentifications:
if serviceIdentification.peerHostName==peerHostName:
serviceIdentification.localNameIdentifier = \
newLocalNameIdentifier
virtualServer.markObjectAsDirty(object)
invalidateValue(object.id)
return newLocalNameIdentifier
return None
def setLocalNameIdentifierServiceProvider(
self, peerHostName, newLocalNameIdentifier):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
@ -445,8 +483,34 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin,
return newLocalNameIdentifier
return None
def setPeerNameIdentifier(self, peerHostName,
newPeerNameIdentifier, oldPeerNameIdentifier):
def setPeerNameIdentifierIdentityProvider(self, peerHostName,
newPeerNameIdentifier, oldPeerNameIdentifier, idpProvidedNameIdentifier):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():
if object.serviceIdentifications is not None:
if oldPeerNameIdentifier==idpProvidedNameIdentifier:
# first set by the Sp to IDP:
for identification in object.serviceIdentifications:
if identification.peerHostName==peerHostName and \
identification.localNameIdentifier==idpProvidedNameIdentifier:
identification.peerNameIdentifier = newPeerNameIdentifier
virtualServer.markObjectAsDirty(object)
invalidateValue(object.id)
return newPeerNameIdentifier
else:
# not the first time :
for serviceIdentification in object.serviceIdentifications:
if serviceIdentification.peerHostName==peerHostName and serviceIdentification.peerNameIdentifier==oldPeerNameIdentifier:
serviceIdentification.peerNameIdentifier = newPeerNameIdentifier
virtualServer.markObjectAsDirty(object)
invalidateValue(object.id)
return newPeerNameIdentifier
return None
def setPeerNameIdentifierServiceProvider(
self, peerHostName, newPeerNameIdentifier, oldPeerNameIdentifier):
virtualServerId = context.getVar('applicationId')
virtualServer = self.getVirtualServer(virtualServerId)
for object in virtualServer.objects.values():