Changeset 4358


Ignore:
Timestamp:
24/10/08 13:24:37 (11 years ago)
Author:
pjkersha
Message:

ndg.security.common.wssecurity.__init: fix for reading parameters with prefix set.

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

Legend:

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

    r4035 r4358  
    135135                                 
    136136        except KeyError, e: 
    137             raise PDPInitError('Importing PDP module, key not recognised: %s'%\ 
     137            raise PDPInitError('Importing PDP module, key not recognised: %s' % 
    138138                               e)                           
    139139        except Exception, e: 
     
    143143        # Check class inherits from PEPResrc abstract base class 
    144144        if not issubclass(pdpClass, PDPInterface): 
    145             raise PDPInitError, \ 
    146                 "PDP interface class %s must be derived from PDPInterface" % \ 
    147                     self.pdpClassName 
     145            raise PDPInitError("PDP interface class %s must be derived from " 
     146                               "PDPInterface" % self.pdpClassName) 
    148147 
    149148 
     
    202201         
    203202        if self._pdp is None: 
    204             raise PDPInitError("PDP object is not set - " + \ 
    205                 "ensure initPDPInterface has been called and the relevant " + \ 
    206                 " configuration parameters have been set") 
     203            raise PDPInitError("PDP object is not set - ensure " 
     204                               "initPDPInterface has been called and the " 
     205                               "relevant configuration parameters have been " 
     206                               "set") 
    207207             
    208208        return self._pdp.accessPermitted(resrcHandle,  
  • TI12-security/trunk/python/ndg.security.common/ndg/security/common/wssecurity/__init__.py

    r4331 r4358  
    9292        # config file, self._param are the names used in the code. 
    9393        prefix = kw.pop('prefix', None) 
    94         if prefix is not None: 
    95             optNames = ["%s.%s" % (prefix, optName) for optName in optNames]  
     94 
     95        if prefix: 
     96            optNames = ["%s.%s" % (prefix, optName) for optName in kw]  
    9697        else: 
    9798            optNames = self._param 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/wsgi/openid_provider.py

    r4171 r4358  
    386386                           [('Content-type', 'text/html'), 
    387387                            ('Content-length', str(len(response)))]) 
    388             return response 
    389388         
    390389        if 'Yes' in self.query: 
     
    399398                self.session.save() 
    400399              
    401             oidResponse = self._identityApproved(oidRequest, identity) 
     400            try: 
     401                oidResponse = self._identityApproved(oidRequest, identity) 
     402            except Exception, e: 
     403                log.error("Setting response following ID Approval: %s" % e) 
     404                response = self._renderer.renderErrorPage(environ,  
     405                    'Error setting response.  Please report the error to your ' 
     406                    'site administrator.') 
     407                start_response("500 Internal Server Error",  
     408                               [('Content-type', 'text/html'), 
     409                                ('Content-length', str(len(response)))]) 
     410                return response 
     411                           
    402412            response = self._displayResponse(oidResponse) 
    403413         
     
    420430                           [('Content-type', 'text/html'), 
    421431                            ('Content-length', str(len(response)))]) 
    422             return response 
    423 #            raise OpenIDProviderMiddlewareError('Expecting yes/no in allow ' 
    424 #                                                'post.  %r' % self.query) 
    425  
     432         
    426433        return response 
    427434 
     
    498505                        msg = "<p>Invalid username/password entered.  " + \ 
    499506                            "Please try again or if the problems persists " + \ 
    500                             "contact your system administrator</p>" 
     507                            "contact your system administrator.</p>" 
    501508                        response = self._renderer.renderLogin(environ,  
    502509                                          msg=msg, 
     
    568575        if oidRequest.trust_root in approvedRoots and \ 
    569576           not oidRequest.idSelect(): 
    570             response = self._identityApproved(oidRequest, oidRequest.identity) 
     577            try: 
     578                response = self._identityApproved(oidRequest,  
     579                                                  oidRequest.identity) 
     580            except Exception, e: 
     581                log.error("Setting response following ID Approval: %s" % e) 
     582                response = self._renderer.renderErrorPage(environ,  
     583                    'Error setting response.  Please report the error to your ' 
     584                    'site administrator.') 
     585                 
     586                start_response("500 Internal Server Error",  
     587                               [('Content-type', 'text/html'), 
     588                                ('Content-length', str(len(response)))]) 
     589                return response 
     590 
    571591            return self._displayResponse(response) 
    572592        else: 
     
    666686            requiredAttr = ax_req.getRequiredAttrs() 
    667687            if len(requiredAttr) > 0: 
    668                 log.error("Relying party requires these attributes: %s; but no" 
    669                           "Attribute exchange handler 'axResponseHandler' has " 
    670                           "been set" % requiredAttr) 
     688                msg = ("Relying party requires these attributes: %s; but no" 
     689                        "Attribute exchange handler 'axResponseHandler' has " 
     690                        "been set" % requiredAttr) 
     691                log.error(msg) 
     692                raise OpenIDProviderConfigError(msg) 
     693             
    671694            return 
    672695         
     
    674697        # release of attributes + assignment based on required attributes -  
    675698        # possibly via FetchRequest.getRequiredAttrs() 
    676         self.axResponseHandler(ax_req, ax_resp, self.session.get('username')) 
     699        try: 
     700            self.axResponseHandler(ax_req, ax_resp,  
     701                                   self.session.get('username')) 
     702        except Exception, e: 
     703            log.error("%s exception raised setting requested Attribute " 
     704                      "Exchange values: %s" % (e.__class__, e)) 
     705            raise 
    677706         
    678707        oidResponse.addExtension(ax_resp) 
     
    725754            elif self._trustRootIsAuthorized(oidRequest.trust_root): 
    726755                # User has approved this Relying Party 
    727                 oidResponse = self._identityApproved(oidRequest) 
     756                try: 
     757                    oidResponse = self._identityApproved(oidRequest) 
     758                except Exception, e: 
     759                    log.error("Setting response following ID Approval: %s" % e) 
     760                    response = self._renderer.renderErrorPage(environ,  
     761                        'Error setting response.  Please report the error to ' 
     762                        'your site administrator.') 
     763                    start_response("500 Internal Server Error",  
     764                                   [('Content-type', 'text/html'), 
     765                                    ('Content-length', str(len(response)))]) 
     766                    return response 
     767                 
    728768                return self._displayResponse(oidResponse) 
    729769            else: 
     
    769809        # If the content length exceeds the maximum to represent on a URL, it's 
    770810        # rendered as a form instead 
    771         if oidResponse.renderAsForm(): 
     811        # FIXME: Commented out oidResponse.renderAsForm() test as it doesn't  
     812        # give consistent answers.  Testing based on body content should work 
     813        # OK 
     814        if webresponse.body: 
     815        #if oidResponse.renderAsForm(): 
    772816            # Wrap in HTML with Javascript OnLoad to submit the form 
    773817            # automatically without user intervention 
Note: See TracChangeset for help on using the changeset viewer.