Exemplo n.º 1
0
 def getUserInfoFromTargetService( self ):
     ''' Running on proxier service to ask back-end service for user info.
     '''
     request = self.request
     context = self.context
     
     # get cas client plugin instance
     plugin = context.restrictedTraverse(
         self.PATH_TO_PROXIER_PLUGIN, None )
     if plugin:
         assertion = plugin.getAssertion( request.SESSION )
         if not assertion:
             return 'No assertion found.'
         else:
             # get proxying ticket
             pt = assertion.getPrincipal().getProxyTicketFor(
                 self.BACK_END_SERVICE_URL )
             
             # call proxied service
             url = '%s/@@proxyAuthExample/getUserInfo?pt=%s' % \
                 ( self.BACK_END_SERVICE_URL, pt )
             response = retrieveResponseFromServer( url )
             return response
     
     return 'Get proxier service anz.casclient plugin fail, check your path setting.'
Exemplo n.º 2
0
    def getProxyTicketIdFor(self, pgtId, targetService):
        ''' See interfaces.IProxyRetriever. '''
        ret = None

        url = self._constructUrl(pgtId, targetService)
        response = retrieveResponseFromServer(url)
        dom = minidom.parseString(response)
        elements = dom.getElementsByTagNameNS(self.CAS_NS, 'proxyFailure')
        if not elements:
            elements = dom.getElementsByTagNameNS(self.CAS_NS, 'proxyTicket')
            ret = elements[0].firstChild.data

        return ret
 def getProxyTicketIdFor( self, pgtId, targetService ):
     ''' See interfaces.IProxyRetriever. '''
     ret = None
     
     url = self._constructUrl( pgtId, targetService )
     response = retrieveResponseFromServer( url )
     dom = minidom.parseString( response )
     elements = dom.getElementsByTagNameNS( self.CAS_NS,
                                            'proxyFailure' )
     if not elements:
         elements = dom.getElementsByTagNameNS( self.CAS_NS,
                                                'proxyTicket' )
         ret = elements[0].firstChild.data
     
     return ret
 def retrieveResponseFromServer( self, validationUrl, ticket ):
     ''' See interfaces.ITicketValidator. '''
     return retrieveResponseFromServer( validationUrl )