Ignore:
Timestamp:
24/12/08 10:08:29 (11 years ago)
Author:
pjkersha
Message:

Added extra parameter 'siteName' to Attribute Authority map configuration to enable display of a more user friendly listing in the WAYF.

  • re-ran all attribute authority related unit tests
  • TODO: modify and test SSO client WAYF interface to use new param
Location:
TI12-security/trunk/python/ndg.security.common/ndg/security/common
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/attributeauthority.py

    r4680 r4713  
    277277                                         transdict=self._transdict) 
    278278        except HTTPResponse, e: 
    279             raise AttributeAuthorityClientError, \ 
    280                 "Error initialising service for \"%s\": %s %s" % \ 
    281                 (self.__uri, e.status, e.reason) 
     279            raise AttributeAuthorityClientError( 
     280                "Error initialising service for \"%s\": %s %s" %  
     281                (self.__uri, e.status, e.reason)) 
    282282 
    283283    def getHostInfo(self): 
     
    311311 
    312312        # Unpack response into dict 
    313         hostInfoKw = ['aaURI', 
     313        hostInfoKw = ['siteName', 
     314                      'aaURI', 
    314315                      'aaDN', 
    315316                      'loginURI', 
     
    358359            hostname = host.get_element_hostname() 
    359360             
    360             trustedHostInfo[hostname] = \ 
    361             { 
     361            trustedHostInfo[hostname] = { 
     362                'siteName': host.SiteName, 
    362363                'aaURI': host.AaURI, 
    363364                'aaDN': host.AaDN, 
     
    403404        for host in hosts: 
    404405            hostname = host.Hostname 
    405             allHostInfo[hostname] = \ 
    406             { 
     406            allHostInfo[hostname] = { 
     407                'siteName': host.SiteName, 
    407408                'aaURI': host.AaURI, 
    408409                'aaDN': host.AaDN, 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/utils/configfileparsers.py

    r4682 r4713  
    137137     
    138138    __call__ method enables a standalone read function''' 
    139          
    140     def read(self, propFilePath, validKeys, cfg=None, sections=None, 
    141              wsseSection='WS-Security', prefix=''): 
     139     
     140    defaultOptionNames = ('here',) 
     141     
     142    def read(self,  
     143             propFilePath,  
     144             validKeys,  
     145             cfg=None,  
     146             sections=None, 
     147             defaultItems={},  
     148             prefix=''): 
    142149        """ 
    143150        Read 'ini' type property file - i.e. a flat text file with key/value 
     
    155162        @param sections: sections to be read from - defaults to all sections in the 
    156163        file 
    157         @type wsseSection: basestring 
    158         @param wsseSection: section to read WS-Security settings from as  
    159         specified by WSSecurityConfig class.  WS-Security section doesn't need  
    160         to be present and can be ignored. 
     164        @type defaultItems: dict 
     165        @param defaultItems: add items via this input dictionary as well as by 
     166        retrieval from config file itself.  This only comes into effect if 
     167        cfg was not set and a new config object is created locally. 
    161168        @rtype: dict 
    162169        @return: dict with the loaded properties in 
     
    171178             
    172179        if cfg is None: 
    173             hereDef = {'here': os.path.dirname(propFilePath)} 
    174             self.cfg = CaseSensitiveConfigParser(defaults=hereDef) 
     180            # Add default item for file location to enable convenient  
     181            # substitutions within the file 
     182            defaultItems['here'] = os.path.dirname(propFilePath) 
     183             
     184            self.cfg = CaseSensitiveConfigParser(defaults=defaultItems) 
    175185            self.cfg.read(propFilePath) 
    176186            if not os.path.isfile(propFilePath): 
     
    195205                                               section=section, 
    196206                                               prefix=prefix)) 
    197             else: 
    198                 if section == wsseSection: 
    199                     keys = WSSecurityConfig.propertyDefaults 
    200                 else: 
    201                     keys = validKeys 
    202                      
     207            else:                     
    203208                properties[section] = _parseConfig(self.cfg,  
    204                                                    keys,  
     209                                                   validKeys,  
    205210                                                   section=section, 
    206211                                                   prefix=prefix) 
    207212     
     213                 
     214        # Get rid of 'here' default item to avoid interfering with later 
     215        # processing 
     216        for opt in INIPropertyFile.defaultOptionNames: 
     217            properties.pop(opt, None) 
     218         
    208219        log.debug("Finished reading from INI properties file") 
    209220        return properties 
     
    487498        # using the properties listed here 
    488499        if key == wsseSection: 
    489             validateProperties(properties[key], WSSecurityConfig.propertyDefaults) 
     500            validateProperties(properties[key],  
     501                               WSSecurityConfig.propertyDefaults) 
    490502             
    491503        elif validKeys[key] and isinstance(validKeys[key], dict): 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/zsi/attributeauthority/AttributeAuthority_services.py

    r4692 r4713  
    2929        # no ws-addressing 
    3030 
    31     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84c746c> 
     31    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84cad2c> 
    3232    def getAttCert(self, userId,userX509Cert,userAttCert): 
    3333 
     
    4646        return attCert,msg 
    4747 
    48     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84c778c> 
     48    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84d106c> 
    4949    def getHostInfo(self): 
    5050 
     
    5757        response = self.binding.Receive(getHostInfoOutputMsg.typecode) 
    5858        hostname = response._hostname 
     59        siteName = response._siteName 
    5960        aaURI = response._aaURI 
    6061        aaDN = response._aaDN 
     
    6263        loginServerDN = response._loginServerDN 
    6364        loginRequestServerDN = response._loginRequestServerDN 
    64         return hostname,aaURI,aaDN,loginURI,loginServerDN,loginRequestServerDN 
     65        return hostname,siteName,aaURI,aaDN,loginURI,loginServerDN,loginRequestServerDN 
    6566 
    66     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84cf2cc> 
     67    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84d1c0c> 
    6768    def getTrustedHostInfo(self, role): 
    6869 
     
    7879        return trustedHosts 
    7980 
    80     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84cf44c> 
     81    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84d1d8c> 
    8182    def getAllHostsInfo(self): 
    8283 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/zsi/attributeauthority/AttributeAuthority_services_types.py

    r4521 r4713  
    2323        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw): 
    2424            ns = ns0.HostInfo_Def.schema 
    25             TClist = [ZSI.TC.String(pname="hostname", aname="_hostname", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaURI", aname="_aaURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaDN", aname="_aaDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginURI", aname="_loginURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginServerDN", aname="_loginServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginRequestServerDN", aname="_loginRequestServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="roleList", aname="_roleList", minOccurs=0, maxOccurs="unbounded", nillable=False, typed=False, encoded=kw.get("encoded"))] 
     25            TClist = [ZSI.TC.String(pname="hostname", aname="_hostname", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="siteName", aname="_siteName", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaURI", aname="_aaURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaDN", aname="_aaDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginURI", aname="_loginURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginServerDN", aname="_loginServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginRequestServerDN", aname="_loginRequestServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="roleList", aname="_roleList", minOccurs=0, maxOccurs="unbounded", nillable=False, typed=False, encoded=kw.get("encoded"))] 
    2626            self.attribute_typecode_dict = attributes or {} 
    2727            if extend: TClist += ofwhat 
     
    3434                    # pyclass 
    3535                    self._hostname = None 
     36                    self._siteName = None 
    3637                    self._aaURI = None 
    3738                    self._aaDN = None 
     
    111112        def __init__(self, **kw): 
    112113            ns = ns0.getHostInfoResponse_Dec.schema 
    113             TClist = [ZSI.TC.String(pname="hostname", aname="_hostname", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaURI", aname="_aaURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaDN", aname="_aaDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginURI", aname="_loginURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginServerDN", aname="_loginServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginRequestServerDN", aname="_loginRequestServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
     114            TClist = [ZSI.TC.String(pname="hostname", aname="_hostname", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="siteName", aname="_siteName", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaURI", aname="_aaURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="aaDN", aname="_aaDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginURI", aname="_loginURI", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginServerDN", aname="_loginServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname="loginRequestServerDN", aname="_loginRequestServerDN", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
    114115            kw["pname"] = ("urn:ndg:security:AttributeAuthority","getHostInfoResponse") 
    115116            kw["aname"] = "_getHostInfoResponse" 
     
    122123                    # pyclass 
    123124                    self._hostname = None 
     125                    self._siteName = None 
    124126                    self._aaURI = None 
    125127                    self._aaDN = None 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/zsi/attributeauthority/attributeauthority.wsdl

    r4521 r4713  
    1616        <xsd:sequence> 
    1717          <xsd:element name="hostname" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
     18          <xsd:element name="siteName" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
    1819          <xsd:element name="aaURI" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
    1920          <xsd:element name="aaDN" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
     
    5253          <xsd:sequence> 
    5354            <xsd:element name="hostname" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
     55            <xsd:element name="siteName" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
    5456            <xsd:element name="aaURI" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
    5557            <xsd:element name="aaDN" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/zsi/sessionmanager/SessionManager_services.py

    r4692 r4713  
    2929        # no ws-addressing 
    3030 
    31     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84c784c> 
     31    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84cac4c> 
    3232    def getSessionStatus(self, userDN,sessID): 
    3333 
     
    4444        return isAlive 
    4545 
    46     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84c7b4c> 
     46    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84caf4c> 
    4747    def connect(self, username,passphrase,createServerSess): 
    4848 
     
    6363        return userX509Cert,userPriKey,issuingCert,sessID 
    6464 
    65     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84cd6ec> 
     65    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84d1aec> 
    6666    def disconnect(self, userX509Cert,sessID): 
    6767 
     
    7777        return  
    7878 
    79     # op: <ZSI.wstools.WSDLTools.Message instance at 0x84cd88c> 
     79    # op: <ZSI.wstools.WSDLTools.Message instance at 0x84d1c8c> 
    8080    def getAttCert(self, userX509Cert,sessID,attributeAuthorityURI,reqRole,mapFromTrustedHosts,rtnExtAttCertList,extAttCert,extTrustedHost): 
    8181 
Note: See TracChangeset for help on using the changeset viewer.