Beispiel #1
0
def load_user(user_id):
    """
    user loader
    hier wird beim aufruf von login.required dekorierten punkten
    der in der session gespeicherte benutzer geladen wenn vorhanden

    Args:
        user_id:

    Returns:

    """
    if user_id > 0:
        user = BeUser()
        user.set("id", user_id)
        user.load()
        session = Session()
        session.set_user_id(user.get_id())
        if session.load():
            session_user = user.create_session_user()
            ip_address = get_real_ip()
            session_user.ip_address = ip_address
            session_user.user_agent = request.user_agent
            session_user.token = session.get_token()
            session_user.timestamp = session.get_timestamp()
            hash = session.get_user_hash_string(session_user)

            if session.is_valid(session.encryption.get_generic_hash(hash)):
                return session_user
            else:
                debug_logger.debug("session nicht valid")
                session.delete()
    return SessionUser()