Changeset 667


Ignore:
Timestamp:
08/03/06 17:15:40 (14 years ago)
Author:
pjkersha
Message:

security.py: updates for authorise to allow mapping + updated fonts for display.

ndgSessionClient.py: command line script to enable all SessionClient? functionality to
be called from the command line by passing various flags.

SessionMgrServer?.py: get rid of CVS ID macro

Session.py: updates to error messages.

Location:
TI12-security/trunk/python
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/NDG/Session.py

    r662 r667  
    454454             
    455455        except Exception, e: 
    456             raise SessionMgrError("Error registering new user: %s" % e) 
     456            raise SessionMgrError("%s" % e) 
    457457 
    458458 
  • TI12-security/trunk/python/SessionMgrServer.py

    r660 r667  
    77P J Kershaw 16/08/05 
    88 
    9 Copyright (C) 2005 CCLRC & NERC 
     9Copyright (C) 2006 CCLRC & NERC 
    1010 
    1111This software may be distributed under the terms of the Q Public License, 
    1212version 1.0 or later. 
    1313""" 
    14  
    15 cvsID = '$Id$' 
    1614 
    1715# Handle socket errors from WS 
  • TI12-security/trunk/python/Tests/security.py

    r660 r667  
    8181        #sys.stderr.write("Form keys: %s\n" % ', '.join(form.keys())) 
    8282 
    83         if form.has_key("extTrustedHost"): 
    84             extTrustedHost = form["extTrustedHost"].value 
    85         else: 
    86             extTrustedHost = '' 
    87                  
     83#         if form.has_key("extTrustedHost"): 
     84#             extTrustedHost = form["extTrustedHost"].value 
     85#         else: 
     86#             extTrustedHost = '' 
     87 
    8888        if form.has_key("authorisationMethod"): 
    8989            self.__authorisationMethod = form["authorisationMethod"].value 
     
    138138                # Call authorisation passing the session ID for authorise to 
    139139                # set the cookie 
    140                 self.authorise(cookie, extTrustedHost=extTrustedHost) 
     140                self.authorise(cookie) 
    141141 
    142142            else: 
     
    144144                # and set cookie 
    145145                self.authenticate() 
    146                  
     146 
    147147        elif bAuthorise: 
    148             self.authorise(extTrustedHost=extTrustedHost) 
     148            self.authorise() 
    149149 
    150150        elif form.has_key("cookie"):            
    151151            self.setCookie(form['cookie'].value) 
    152              
     152 
     153        elif form.has_key("attCert"): 
     154            self.showAttCert(attCert=form['attCert'].value) 
     155 
    153156        else: 
    154157            raise SecurityCGIError(\ 
    155158                            "None of the Form keys were recognised: %s" % \ 
    156159                            ', '.join(form.keys())) 
    157              
     160 
    158161 
    159162    #_________________________________________________________________________ 
     
    180183        color:#0000FF; 
    181184        } 
    182         body { font-family: Verdana, sans-serif; font-size: 10} 
    183         table { font-family: Verdana, sans-serif; font-size: 10} 
     185        body { font-family: Verdana, sans-serif; font-size: 11} 
     186        table { font-family: Verdana, sans-serif; font-size: 11} 
    184187    --> 
    185188    </style> 
     
    343346        color:#0000FF; 
    344347        } 
    345         body { font-family: Verdana, sans-serif; font-size: 10} 
    346         table { font-family: Verdana, sans-serif; font-size: 10} 
     348        body { font-family: Verdana, sans-serif; font-size: 11} 
     349        table { font-family: Verdana, sans-serif; font-size: 11} 
    347350    --> 
    348351    </style> 
     
    370373        color:#0000FF; 
    371374        } 
    372         body { font-family: Verdana, sans-serif; font-size: 10} 
    373         table { font-family: Verdana, sans-serif; font-size: 10} 
     375        body { font-family: Verdana, sans-serif; font-size: 11} 
     376        table { font-family: Verdana, sans-serif; font-size: 11} 
    374377    --> 
    375378    </style> 
     
    436439        color:#0000FF; 
    437440        } 
    438         body { font-family: Verdana, sans-serif; font-size: 10} 
    439         table { font-family: Verdana, sans-serif; font-size: 10} 
     441        body { font-family: Verdana, sans-serif; font-size: 11} 
     442        table { font-family: Verdana, sans-serif; font-size: 11} 
    440443    --> 
    441444    </style> 
     
    471474        color:#0000FF; 
    472475        } 
    473         body { font-family: Verdana, sans-serif; font-size: 10} 
    474         table { font-family: Verdana, sans-serif; font-size: 10} 
     476        body { font-family: Verdana, sans-serif; font-size: 11} 
     477        table { font-family: Verdana, sans-serif; font-size: 11} 
    475478    --> 
    476479    </style> 
     
    487490 
    488491    #_________________________________________________________________________ 
    489     def authorise(self, 
    490                   cookie=None, 
    491                   reqRole='nercFunded', 
    492                   extTrustedHost=''): 
     492    def authorise(self, cookie=None, reqRole=None): 
    493493        """Contact Attribute Authority to get Attribute Certificate for data 
    494494        access 
     
    504504 
    505505 
    506         if extTrustedHost: 
    507             extTrustedHostList = [extTrustedHost] 
    508         else: 
    509             extTrustedHostList = '' 
    510  
    511  
    512         extAttCertList = None    
     506        extAttCertList = None 
    513507        bSetCookie = False 
    514508         
     
    545539 
    546540            if self.__authorisationMethod == 'allowMapping': 
    547                 bMapFromTrustedHosts = True                 
     541                bMapFromTrustedHosts = True 
     542                bRtnExtAttCertList = True 
     543 
     544            elif self.__authorisationMethod == 'allowMappingWithPrompt': 
     545                bMapFromTrustedHosts = False 
     546                bRtnExtAttCertList = True 
    548547            else: 
    549548                bMapFromTrustedHosts = False 
     549                bRtnExtAttCertList = False 
    550550 
    551551 
     
    561561                                    aaWSDL=self.__aaWSDL, 
    562562                                    reqRole=reqRole, 
    563                                     mapFromTrustedHosts=bMapFromTrustedHosts, 
    564                                     extTrustedHostList=extTrustedHostList) 
     563                                    rtnExtAttCertList=bRtnExtAttCertList) 
    565564            except Exception, e: 
    566565                # Socket error returns tuple - reformat to just give msg 
     
    573572            elif resp['statCode'] == 'AccessDenied': 
    574573                 
    575                 if not resp['extAttCertList']: 
     574                if 'extAttCertList' not in resp or not resp['extAttCertList']: 
    576575                    raise SecurityCGIError(str(resp['errMsg'])) 
    577576 
     
    585584            else: 
    586585                cookieTxt = '' 
    587                  
     586 
    588587            print \ 
    589588"""Content-type: text/html 
     
    592591<head> 
    593592    <Title>NDG User Authorisation (Test)</Title> 
     593    <script language="JavaScript"> 
     594        <!-- 
     595        function ndgDataOpenWindow(theURL, winName, features) 
     596        { //v2.0 
     597            window.open(theURL, winName, features); 
     598        } 
     599        //--> 
     600  </script> 
    594601    <style type="text/css"> 
    595602    <!-- 
     
    603610        color:#0000FF; 
    604611        } 
    605         body { font-family: Verdana, sans-serif; font-size: 10} 
    606         table { font-family: Verdana, sans-serif; font-size: 10} 
     612        body { font-family: Verdana, sans-serif; font-size: 11} 
     613        table { font-family: Verdana, sans-serif; font-size: 11} 
    607614    --> 
    608615    </style> 
    609616</head> 
    610617 
    611 <body>""" % cookieTxt  
     618<body>""" % cookieTxt 
    612619 
    613620            if self.__attCert: 
    614                  
     621 
    615622                # Get data using certificate obtained 
    616623                print "<p>User authorised</p>" 
     624 
    617625                print "<p>Attribute Certificate: <br>%s</p>" % \ 
    618                       re.sub("<", "&lt;", re.sub(">", "&gt;", self.__attCert)) 
    619                  
     626                       re.sub("<", "&lt;", re.sub(">", "&gt;", self.__attCert)) 
     627 
    620628            elif 'extAttCertList' in resp: 
    621629                # Display available certificates from other AAs in a table 
    622630                self.showExtAttCertSelect(resp['extAttCertList']) 
    623631                 
    624             print "</body>"  
     632            print "</body>" 
    625633 
    626634        except Exception, e: 
     
    643651        color:#0000FF; 
    644652        } 
    645         body { font-family: Verdana, sans-serif; font-size: 10} 
    646         table { font-family: Verdana, sans-serif; font-size: 10} 
     653        body { font-family: Verdana, sans-serif; font-size: 11} 
     654        table { font-family: Verdana, sans-serif; font-size: 11} 
    647655    --> 
    648656    </style> 
     
    664672            self.__attCert = attCert 
    665673 
    666  
    667          
    668674        if self.__attCert is None: 
    669675            print \ 
     
    683689        color:#0000FF; 
    684690        } 
    685         body { font-family: Verdana, sans-serif; font-size: 10} 
    686         table { font-family: Verdana, sans-serif; font-size: 10} 
     691        body { font-family: Verdana, sans-serif; font-size: 11} 
     692        table { font-family: Verdana, sans-serif; font-size: 11} 
    687693    --> 
    688694    </style> 
     
    724730        color:#0000FF; 
    725731        } 
    726         body { font-family: Verdana, sans-serif; font-size: 10} 
    727         table { font-family: Verdana, sans-serif; font-size: 10} 
     732        body { font-family: Verdana, sans-serif; font-size: 11} 
     733        table { font-family: Verdana, sans-serif; font-size: 11} 
    728734    --> 
    729735    </style> 
Note: See TracChangeset for help on using the changeset viewer.