def terminate(self):
        """
        Kills the session.

        @return: None
        """
        SessionManager.terminate_session(self)
Exemple #2
0
    def terminate(self):
        """
        Kills the session.

        @return: None
        """
        SessionManager.terminate_session(self)
Exemple #3
0
 def _fetch_session(self, session_id, cookies_enabled):
     session = None
     if session_id:
         session = SessionManager.fetch_session(session_id)
     if session is not None:
         context.session = session
         context.user = _db.get_item(context.session.userid)
         context.request.serverVariables["AUTH_USER"] = \
             context.user.displayName.value
         if not cookies_enabled:
             if not session.sessionid in context.request.SCRIPT_NAME:
                 context.request.serverVariables['SCRIPT_NAME'] += \
                     '/{%s}' % session.sessionid
             else:
                 lstScript = context.request.SCRIPT_NAME.split('/')
                 context.request.serverVariables['SCRIPT_NAME'] = \
                     '/%s/{%s}' % (lstScript[1], session.sessionid)
     else:
         # create guest session
         guest_id = settings['sessionmanager']['guest']
         context.user = _db.get_item(guest_id)
         new_session = SessionManager.create(guest_id)
         session_id = new_session.sessionid
         if 'PMB' in context.request.serverVariables['HTTP_USER_AGENT']:
             # if is a mobile client
             # add session id in special header
             context.response.set_header('Porcupine-Session', session_id)
         else:
             # add cookie with sessionid
             context.response.cookies['_sid'] = session_id
             context.response.cookies['_sid']['path'] = \
                 context.request.SCRIPT_NAME + '/'
         context.session = new_session
    def _fetch_session(self):
        path_info = self.request.serverVariables['PATH_INFO'] or '/'

        # get session
        session = None
        cookiesEnabled = True
        if self.request.cookies.has_key('_sid'):
            session = SessionManager.fetch_session(
                self.request.cookies['_sid'].value)
        else:
            cookiesEnabled = False
            session_match = re.match(self.sid_pattern, path_info)
            if session_match:
                path_info = path_info.replace(session_match.group(), '', 1) or '/'
                self.request.serverVariables['PATH_INFO'] = path_info
                session = SessionManager.fetch_session(session_match.group(1))

        if session != None:
            self.session = session
            self.user = _db.get_item(self.session.userid)
            self.request.serverVariables["AUTH_USER"] = \
                self.user.displayName.value
            if not cookiesEnabled:
                if not session.sessionid in self.request.serverVariables["SCRIPT_NAME"]:
                    self.request.serverVariables["SCRIPT_NAME"] += \
                        '/{%s}' % session.sessionid
                else:
                    lstScript = self.request.serverVariables["SCRIPT_NAME"].split('/')
                    self.request.serverVariables["SCRIPT_NAME"] = \
                        "/%s/{%s}" %(lstScript[1], session.sessionid)
        else:
            self.session = self.__create_guest_session()
Exemple #5
0
def init_session_manager(init_expiration=True):
    return SessionManager.open(
        misc.get_rto_by_name(settings["sessionmanager"]["interface"]),
        int(settings["sessionmanager"]["timeout"]),
        init_expiration,
        **settings["sessionmanager"]["params"]
    )
 def __create_guest_session(self):
     # create new session with the specified guest user
     self.user = _db.get_item(settings['sessionmanager']['guest'])
     new_session = SessionManager.create(settings['sessionmanager']['guest'])
     
     session_id = new_session.sessionid
     query_string = self.request.getQueryString()
     
     if '_nojavascript' in query_string:
         root_url = self.request.getRootUrl()
         path = self.request.serverVariables['PATH_INFO']
         self.response.redirect(
             '%(root_url)s/{%(session_id)s}%(path)s' % locals()
         )
     
     # add cookie with sessionid
     self.response.cookies['_sid'] = session_id
     self.response.cookies['_sid']['path'] = \
         self.request.serverVariables['SCRIPT_NAME']
     return new_session
def close_session_manager():
    SessionManager.close()
def init_session_manager(init_expiration=True):
    return SessionManager.open(
        misc.get_rto_by_name(settings['sessionmanager']['interface']),
        int(settings['sessionmanager']['timeout']),
        init_expiration,
        **settings['sessionmanager']['params'])
Exemple #9
0
def close_session_manager():
    SessionManager.close()
Exemple #10
0
def init_session_manager(init_expiration=True):
    return SessionManager.open(
        misc.get_rto_by_name(settings['sessionmanager']['interface']),
        int(settings['sessionmanager']['timeout']), init_expiration,
        **settings['sessionmanager']['params'])