Changeset 492


Ignore:
Timestamp:
03/10/05 11:54:26 (14 years ago)
Author:
pjkersha
Message:

Working version for setting cookie with expiry + if user already logged in,
connect them to their existing UserSession?().

Location:
security/trunk/python/Tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • security/trunk/python/Tests/ndgData.html

    r486 r492  
    6363      </td> 
    6464      <td valign="top" width="127"> <a 
    65  href="javascript:ndgDataOpenWindow('../../cgi-bin/security.cgi?authorise=1', '_blank', 'scrollbars=no, resizable=no, width=512 ,height=468')">ACSOE 
     65 href="javascript:ndgDataOpenWindow('../../cgi-bin/security.cgi?authorise=1', '_blank', 'scrollbars=yes, resizable=no, width=512 ,height=468')">ACSOE 
    6666data set 1</a> <br> 
    6767      </td> 
  • security/trunk/python/Tests/security.py

    r489 r492  
    134134                # Authorisation and authentication arguments were set 
    135135                # - Call authentication first 
    136                 sessID = self.authenticate(setCookie=False) 
     136                cookie = self.authenticate(setCookie=False) 
    137137 
    138138                # Call authorisation passing the session ID for authorise to 
    139139                # set the cookie 
    140                 self.authorise(sessID, extTrustedHost=extTrustedHost) 
     140                self.authorise(cookie, extTrustedHost=extTrustedHost) 
    141141 
    142142            else: 
     
    356356                resp = smSrv.connect(userName=self.__userName, 
    357357                                     passPhrase=self.__passPhrase, 
    358                                      tracefile=sys.stderr)                 
     358                                     rtnAsCookie=True)                 
    359359            except socket.error, e: 
    360360                # Socket error returns tuple - reformat to just give msg 
     
    364364                raise SecurityCGIError(str(resp['errMsg'])) 
    365365 
    366             sessID = str(resp['sessID']) 
     366            cookie = str(resp['cookie']) 
    367367 
    368368            if setCookie: 
    369                 # Make a cookie         
    370                 cookie = SimpleCookie() 
    371                 cookie['Hash'] = sessID 
    372369                 
    373370                print \ 
     
    382379    <p>User %s authenticated</p> 
    383380    <p>Cookie is: %s</p> 
    384 </body>""" % (cookie.output(), self.__userName, sessID) 
    385  
    386             return sessID 
     381</body>""" % (cookie, self.__userName, cookie) 
     382 
     383            return cookie 
    387384         
    388385        except Exception, e: 
     
    411408    #_________________________________________________________________________ 
    412409    def authorise(self, 
    413                   sessID=None, 
     410                  cookie=None, 
    414411                  reqRole='nercFunded', 
    415412                  extTrustedHost='', 
     
    418415        access 
    419416 
    420         sessID:     session ID of user session, if omitted, use cookie 
     417        cookie:     cookie containing session ID 
    421418        reqRole:    required role to get authorisation - default to NERC for 
    422419                    testing""" 
     
    439436        try: 
    440437            # Check for session ID input 
    441             if isinstance(sessID, basestring): 
    442  
    443                 # Set cookie 
    444                 cookie = SimpleCookie() 
    445                 cookie['Hash'] = sessID 
     438            if isinstance(cookie, basestring): 
    446439                bSetCookie = True 
     440 
     441                # Get session ID from cookie 
     442                sessID = SimpleCookie(cookie)['Hash'].value 
    447443                 
    448444            else: 
     
    503499            # Handle access denied/granted 
    504500            if bSetCookie: 
    505                 cookieTxt = cookie.output() + os.linesep 
     501                cookieTxt = cookie + os.linesep 
    506502            else: 
    507503                cookieTxt = '' 
Note: See TracChangeset for help on using the changeset viewer.