def login():
    if request.method == 'GET':
        return render_template('user/login.html')

    resp_suc = {'code': 200, 'msg': '登录成功', "data": {}}
    resp_err = {'code': -1, 'msg': '请输入正确的用户名和密码', "data": {}}
    req = request.values
    login_name = req['login_name'] if 'login_name' in req else ''
    login_pwd = req['login_pwd'] if 'login_pwd' in req else ''

    if login_name is None or len(login_name) < 1:
        return jsonify(resp_err)

    if login_pwd is None or len(login_pwd) < 1:
        return jsonify(resp_err)

    user_info = User.query.filter_by(login_name=login_name).first()
    if not user_info:
        return jsonify(resp_err)

    if user_info.login_pwd != UserService.gene_pwd(pwd=login_pwd,
                                                   salt=user_info.login_salt):
        return jsonify(resp_err)

    response = make_response(json.dumps(resp_suc))
    response.set_cookie(
        app.config['AUTH_COOKIE_NAME'],
        "%s#%s" % (UserService.gene_auth_code(user_info), user_info.uid))

    return response
def check_login():
    cookies = request.cookies
    auth_cookie = cookies.get(app.config['AUTH_COOKIE_NAME'], None)
    if auth_cookie is None:
        return False

    auth_info = auth_cookie.split("#")
    if len(auth_info) != 2:
        return False

    try:
        user_info = User.query.filter_by(uid=auth_info[1]).first()
    except Exception:
        return False

    if auth_info[0] != UserService.gene_auth_code(user_info):
        return False

    return user_info
def resetPwd():
    if request.method == 'GET':
        return ops_render("user/reset_pwd.html")

    resp = {'code': 200, 'msg': '操作成功', "data": {}}
    req = request.values
    old_password = req['old_password'] if 'old_password' in req else ''
    new_password = req['new_password'] if 'new_password' in req else ''

    if old_password is None or len(old_password) < 6:
        resp['code'] = -1
        resp['msg'] = '请输入正确的原密码'
        return jsonify(resp)

    if new_password is None or len(new_password) < 6:
        resp['code'] = -1
        resp['msg'] = '请输入不少于6位的新密码'
        return jsonify(resp)

    if old_password == new_password:
        resp['code'] = -1
        resp['msg'] = '新密码不能等于旧密码'
        return jsonify(resp)

    user_info = g.current_user

    if user_info.login_pwd != UserService.gene_pwd(old_password,
                                                   user_info.login_salt):
        resp['code'] = -1
        resp['msg'] = '请输入正确的原密码'
        return jsonify(resp)
    user_info.login_pwd = UserService.gene_pwd(new_password,
                                               user_info.login_salt)
    db.session.add(user_info)
    db.session.commit()
    response = make_response(json.dumps(resp))
    response.set_cookie(
        app.config['AUTH_COOKIE_NAME'],
        "%s#%s" % (UserService.gene_auth_code(user_info), user_info.uid))
    return response
Exemple #4
0
def check_login():
    """
    判断用户是否登录
    :return:
    """
    cookies = request.cookies
    auth_cookie = cookies[app.config["AUTH_COOKIE_NAME"]] if app.config[
        "AUTH_COOKIE_NAME"] in cookies else None
    if not auth_cookie:
        return False
    auth_info = auth_cookie.split('#')
    if len(auth_info) != 2:
        return False
    try:
        user_info = User.query.filter_by(uid=auth_info[1]).first()
    except Exception:
        return False
    if not user_info:
        return False
    if auth_info[0] != UserService.gene_auth_code(user_info):
        return False
    if user_info.status != 1:
        return False
    return user_info