Esempio n. 1
0
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        body = request.json
        user = body.get('user', '')
        password = body.get('password', '')
        if not all([user, password]):
            return json.dumps({
                'success': False,
                'reason': '用户名和密码不能同时为空!'
            },
                              ensure_ascii=False)
        user_info = mongo.get_user_info(user)
        if not user_info['success']:
            return json.dumps(user_info)
        password_hash = user_info['user_info']['password_hash']
        if not check_password_hash(password_hash, password):
            return json.dumps({'success': False, 'reason': '用户名与密码不匹配!'})
        session_id, session_data = generate_session(
            str(user_info['user_info']['_id']), user)
        redis.save_session(session_id, session_data)
        response = make_response(json.dumps({'success': True}))
        response.set_cookie('session', value=session_id)
        return response
Esempio n. 2
0
def register():
    body = request.json
    user = body.get('user', '')
    password = body.get('password', '')
    if not all([user, password]):
        return json.dumps({'success': False, 'reason': '用户名和密码不能同时为空!'}, ensure_ascii=False)
    if redis.check_user_registered(user):
        return json.dumps({'success': False, 'reason': '用户名已被注册!请更换'})
    password_hash = generate_password_hash(password)
    user_id = mongo.save_user_info(user, password_hash)
    session_id, session_data = generate_session(user_id, user)
    redis.save_session(session_id, session_data)
    response = make_response(json.dumps({'success': True}))
    response.set_cookie('session', value=session_id)
    return response
Esempio n. 3
0
def login(body):
    user = body.get('user', '')
    password = body.get('password', '')
    if not all([user, password]):
        return json.dumps({
            'success': False,
            'reason': '用户名和密码不能同时为空!'
        },
                          ensure_ascii=False)
    user_info = mongo_logic.get_user_info(user)
    if not user_info['success']:
        return json.dumps(user_info)
    password_hash = user_info['user_info']['password_hash']
    if not check_password_hash(password_hash, password):
        return json.dumps({'success': False, 'reason': '用户名与密码不匹配!'})
    session_id, session_data = generate_session(
        str(user_info['user_info']['_id']), user)
    redis_logic.save_session(session_id, session_data)
    response = make_response(json.dumps({'success': True}))
    response.set_cookie('session', value=session_id)
    return response
Esempio n. 4
0
def register(body):
    user = body.get('user', '')
    password = body.get('password', '')
    if not all([user, password]):
        return json.dumps({
            'success': False,
            'reason': '用户名和密码不能同时为空!'
        },
                          ensure_ascii=False)
    bloom.lock(user)
    if bloom.check_duplicate(user):
        bloom.unlock(user)
        return json.dumps({'success': False, 'reason': '用户名已被注册!请更换'})
    bloom.set_key(user)
    bloom.unlock(user)
    password_hash = generate_password_hash(password)
    user_id = mongo_logic.save_user_info(user, password_hash)
    session_id, session_data = generate_session(user_id, user)
    redis_logic.save_session(session_id, session_data)
    response = make_response(json.dumps({'success': True}))
    response.set_cookie('session', value=session_id)
    return response