Changeset 1047


Ignore:
Timestamp:
26/05/06 21:06:28 (13 years ago)
Author:
lawrence
Message:

Modifications to support the security redirects. At this
point we should be able to do the redirect, and get
the cookie contents back, but we don't actually set
the cookie with the information ... yet

Location:
TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/DIF.py

    r1020 r1047  
    1616        '''Initialise a python dif instance based on an xml document ''' 
    1717        self.metadataType='DIF' 
    18         self.xml=xml 
     18        print type(xml) 
     19        #self.xml=xml.decode('utf-8','replace') 
     20        #self.xml=unicode(xml,'latin-1') 
     21        self.xml=xml.encode('latin-1','replace') 
    1922        try: 
    2023            self.elem=ET.fromstring(xml) 
    2124        except: 
    2225            # for some reason we can't parse the document ... 
     26            import codecs 
     27            f=codecs.open('unparseable.xml','a','utf-8') 
     28            f.write(xml+'\n') 
    2329            self.elem=None 
    2430            return 
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/browse.config

    r1020 r1047  
    44[db] 
    55#exist:         superglue.badc.rl.ac.uk 
    6 #exist:         glue.badc.rl.ac.uk 
    7 exist:          gepidae.esc.rl.ac.uk 
     6exist:          glue.badc.rl.ac.uk 
     7#exist:          gepidae.esc.rl.ac.uk 
    88 
    99[layout] 
     
    2828localSM:        http://glue.badc.rl.ac.uk/sessionMgr.wsdl 
    2929 
     30 
    3031# comment out the debugLog if you dont want one! 
    3132 
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/browseCGI.py

    r1023 r1047  
    110110                self.selector=selector(self.requestURL,config.get('layout','selectI')) 
    111111                 
    112         
    113         def makeGateway(self,cookie=None,cmdLine=None): 
     112 
     113        def makeGateway(self,cookie=None): 
    114114                ''' Make connection to NDG security ''' 
    115115                aa=self.config.get('security','localAA',None) 
     116                if 'NDG-ID1' in self.FieldStorage and 'NDG-ID2' in self.FieldStorage: 
     117                    #this is a redirect following login ... 
     118                    cmdLine=(self.FieldStorage['NDG-ID1'],self.FieldStorage['NDG-ID2']) 
    116119                self.ndgGate=gateway2NDGsession(self.requestURL,aa,cookie=cookie,cmdLine=cmdLine) 
    117120 
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/secure.py

    r992 r1047  
    11from Utilities import wrapGetText 
    22from NDG.SecurityClient import * 
    3  
    43 
    54class AccessControl: 
     
    8483                        return 0 
    8584                return 1 
    86                          
    87         def __map2loginHosts(self,trustedHostList): 
    88             ''' Map from a list of attribute authority wsdl (which is what you get from 
    89             the attempt to obtain access) to a list of session manager wsdl addresses 
    90             and short names '''  
    91             # requires a new method on the AA wsdl ... 
    92             # what would happen if one of these requests timed out? How would we time it out? 
    93             result=[] 
    94             #following line for testing only - forces login at BADC 
    95             result.append(('BADC','http://glue.badc.rl.ac.uk/ndgLogin')) 
    96             return result 
    97             for role,host in trustedHostList: 
    98                 AA=AttAuthorityClient(aaWSDL=host) 
    99                 loginName,loginURL=AA.getLoginHost() 
    100                 result.append((loginName,loginURL)) 
    101             return result 
     85 
    10286                                                 
    10387        def __Establish(self,parsedSimpleCondition): 
     
    10993                 
    11094                AA=AttAuthorityClient(aaWSDL=parsedSimpleCondition[1]) 
    111                 trustedHostList=AA.getTrustedHostInfo(role=parsedSimpleCondition[0]) 
    112                 loginHostList=self.__map2loginHosts(trustedHostList)     
     95                trustedHostDict=AA.getTrustedHostInfo(role=parsedSimpleCondition[0]) 
     96                loginHostList=[] 
     97                for key in trustedHostDict: 
     98                    loginHostList.append((key,trustedHostDict[key]['loginURI'])) 
     99                 
    113100                return self.__showSiteList(loginHostList) 
    114101                 
     
    117104                 
    118105                if cmdLine is not None: 
    119                     sessID,encrSessMgrWDLURI=urldecode(cmdLine) 
     106                    sessID,encrSessMgrWDLURI=cmdLine 
    120107                 
    121108                self.__loadKeys() 
     
    137124                        #raise SecurityCGIError("Session client: " + str(e)) 
    138125                        pass # for now we don't have the libraries or code attached 
    139  
    140          
    141126         
    142127        def __loadKeys(self): 
     
    173158                the following sites, please login ...' 
    174159                    <hr> 
    175                     <form action="xNDGtransfer.py" method="POST"> 
     160                    <form action="https://glue.badc.rl.ac.uk/cgi-bin/security.py" method="POST"> 
    176161                    <table bgcolor=#ADD8E6 cellspacing=0 border=0 cellpadding=5> 
    177162                    <tbody><tr> 
Note: See TracChangeset for help on using the changeset viewer.