示例#1
0
def get_active_connection(username):
    try:
        user = User.objects.get(username=username)
    except User.DoesNotExist:
        return None
    profile = user.get_profile()

    lily = Lily(profile.last_session)
    if mc.get('act.{0}'.format(user.id)) or lily.is_logged_in():
        logger.debug('{0}: last_session valid. Success'.format(user))
        mc.set('act.{0}'.format(user.id), 1, time=60)
        return lily
    if profile.lily_password is not None:
        lily = Lily()
        session = lily.login(user.username, profile.lily_password)
        if session:
            profile.last_session = session.dumps()
            profile.save()
            logger.debug('{0}: saved password valid. Success'.format(user))
            mc.set('act.{0}'.format(user.id), 1, time=60)
            return lily
        else:
            profile.lily_password = None
            profile.save()
            logger.debug('{0}: password changed. Failure'.format(user))
            return None
    else:
        profile.last_session = None
        profile.save()
        logger.debug('{0}: no saved password. Failure'.format(user))
        return None
示例#2
0
文件: backends.py 项目: roxit/lilium
def get_active_connection(username):
    try:
        user = User.objects.get(username=username)
    except User.DoesNotExist:
        return None
    profile = user.get_profile()

    lily = Lily(profile.last_session)
    if mc.get('act.{0}'.format(user.id)) or lily.is_logged_in():
        logger.debug('{0}: last_session valid. Success'.format(user))
        mc.set('act.{0}'.format(user.id), 1, time=60)
        return lily
    if profile.lily_password is not None:
        lily = Lily()
        session = lily.login(user.username, profile.lily_password)
        if session:
            profile.last_session = session.dumps()
            profile.save()
            logger.debug('{0}: saved password valid. Success'.format(user))
            mc.set('act.{0}'.format(user.id), 1, time=60)
            return lily
        else:
            profile.lily_password = None
            profile.save()
            logger.debug('{0}: password changed. Failure'.format(user))
            return None
    else:
        profile.last_session = None
        profile.save()
        logger.debug('{0}: no saved password. Failure'.format(user))
        return None