예제 #1
0
파일: User.py 프로젝트: 1456121347/hmsx
def login():
    if request.method == 'GET':
        if g.current_user:
            return redirect(UrlManager.buildUrl("/"))
        return ops_render("user/login.html")

    # POST请求
    resp = {'code': 200, '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:
        resp['code'] = -1
        resp['msg'] = "请输入正确的用户名"
        return jsonify(resp)
    if login_pwd is None or len(login_pwd) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入正确的密码"
        return jsonify(resp)
    # 从数据库中取出user
    user_info = User.query.filter_by(login_name=login_name).first()
    if not user_info:
        resp['code'] = -1
        resp['msg'] = "用户不存在"
        return jsonify(resp)
    # 判断密码
    if user_info.login_pwd != UserService.generatePwd(login_pwd,
                                                      user_info.login_salt):
        resp['code'] = -1
        resp['msg'] = "密码输入错误"
        return jsonify(resp)

    # 判断用户状态
    if user_info.status != 1:
        resp['code'] = -1
        resp['msg'] = "用户已经被禁用,请联系管理员处理"
        return jsonify(resp)

    response = make_response(json.dumps({'code': 200, 'msg': '登录成功~~~'}))
    # Cookie中存入的信息是user_info.uid,user_info
    response.set_cookie(
        app.config['AUTH_COOKIE_NAME'],
        "%s@%s" % (UserService.generateAuthCode(user_info), user_info.uid),
        60 * 60 * 24 * 15)
    return response
예제 #2
0
def login():
    if request.method == 'GET':
        if g.current_user:
            return redirect(U)
        return ops_render('user/login.html')
    resp = {
        'code':200,
        'msg':'登录成功!',
        'data':{}
    }
    req = request.values
    login_name = req['login_name']
    login_pwd = req['login_pwd']
    # 后端校检 不为空 长度不小于1
    if login_name is None or len(login_name) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入正确的用户名!'
        return jsonify(resp)
    if login_pwd is None or len(login_pwd) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入正确的密码'
        return jsonify(resp)
    user_info = User.query.filter_by(login_name=login_name).first()
    print(user_info)
    if not user_info:
        resp['code'] = -1
        resp['msg'] = '用户名不存在'
        return jsonify(resp)
    if user_info.status != 1:
        resp['code'] = -1
        resp['msg'] = '账户已被禁用'
        return jsonify(resp)
    if user_info.login_pwd != UserService.generatePwd(login_pwd,user_info.login_salt):
        resp['code'] = -1
        resp['msg'] = '密码错误'
        return jsonify(resp)

    # 将用户信息存入到浏览器的cookie中
    # json.dumps() 只能处理dict list类型,经过处理可以直接在浏览器使用
    response = make_response(json.dumps({'code':200,'msg':'登录成功!'})) 
    # name value  过期时间
    # value包括login_name login_pwd  login_salt uid
    response.set_cookie(app.config["AUTH_COOKIE_NAME"],'%s@%s'%(UserService.generateAuthCode(user_info),user_info.uid),60*60*24*5)

    return response
예제 #3
0
파일: User.py 프로젝트: dws940819/hmsc
def resetPwd():
    if request.method == 'GET':
        return ops_render("user/reset_pwd.html")

    # POST请求
    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'] = '请输入不小于六位的新密码'
        return jsonify(resp)
    
    if old_password == new_password:
        resp['code'] = -1
        resp['msg'] = '新密码不能与旧密码一致'
        return jsonify(resp)

    user_info = g.current_user
    # 演示账号的保护
    # if user_info.uid == 1:
    #     pass

    user_info.login_pwd = UserService.generatePwd(new_password,user_info.login_salt)
    
    db.session.add(user_info)
    db.session.commit()

    # 修改cookie中的旧用户信息
    response = make_response(json.dumps(resp))
    response.set_cookie(app.config['AUTH_COOKIE_NAME'],'%s@%s' % (UserService.generateAuthCode(user_info),user_info.uid),60*60*24*2)

    return response
예제 #4
0
def resetPwd():
    if request.method == 'GET':
        return ops_render('/user/reset_pwd.html')

    #post
    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'] = '请输入符合规范的新密码'
        return jsonify(resp)

    if new_password == old_password:
        resp['code'] = -1
        resp['msg'] = '原密码与新密码不能相同'
        return jsonify(resp)

    #获取用户信息,修改密码生成新的加密后的密码
    user_info = g.current_user
    user_info.login_pwd = UserService.generatePwd(new_password,
                                                  user_info.login_salt)
    db.session.add(user_info)
    db.session.commit()

    #更新cookie中的旧密码
    response = make_response(json.dumps(resp))
    response.set_cookie(
        app.config['AUTH_COOKIE_NAME'],
        '%s@%s' % (UserService.generateAuthCode(user_info), user_info.uid),
        60 * 60 * 24 * 5)

    return response
예제 #5
0
def login():
    if request.method == 'GET':
        return render_template("user/login.html")

    resp = {'code': 200, '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:
        resp['code'] = -1
        resp['msg'] = "请输入正确的用户名"
        return jsonify(resp)
    if login_pwd is None or len(login_pwd) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入正确的密码"
        return jsonify(resp)
    # 从数据库中取出user
    user_info = User.query.filter_by(login_name=login_name).first()
    if not user_info:
        resp['code'] = -1
        resp['msg'] = "用户不存在"
        return jsonify(resp)
    # 判断密码
    if user_info.login_pwd != UserService.generatePwd(login_pwd,
                                                      user_info.login_salt):
        resp['code'] = -1
        resp['msg'] = "密码输入错误"
        return jsonify(resp)

    # 判断用户状态
    if user_info.status != 1:
        resp['code'] = -1
        resp['msg'] = "用户已经被禁用,请联系管理员处理"
        return jsonify(resp)

    response = make_response(json.dumps({'code': 200, 'msg': '登录成功~~~'}))
    # Cookie中存入的信息是user_info.uid,user_info
    response.set_cookie(
        "hmsc_1901C",
        "%s@%s" % (UserService.genearteAuthCode(user_info), user_info.uid),
        60 * 60 * 24 * 15)
    return response
예제 #6
0
파일: User.py 프로젝트: 1456121347/hmsx
def resetPwd():
    if request.method == "GET":
        return ops_render("user/reset_pwd.html")
    # POST请求
    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'] = "请输入符合规范的新密码"
        return jsonify(resp)

    if old_password == new_password:
        resp['code'] = -1
        resp['msg'] = "新密码和旧密码不能相同"
        return jsonify(resp)

    user_info = g.current_user
    #演示账号的保护
    # if user_info.uid == 1:
    #     pass

    user_info.login_pwd = UserService.generatePwd(new_password,
                                                  user_info.login_salt)

    db.session.add(user_info)
    db.session.commit()

    # 修改cookie中的旧用户信息
    response = make_response(json.dumps(resp))
    # Cookie中存入的信息是user_info.uid,user_info
    response.set_cookie(
        app.config['AUTH_COOKIE_NAME'],
        "%s@%s" % (UserService.generateAuthCode(user_info), user_info.uid),
        60 * 60 * 24 * 15)
    return response
예제 #7
0
def resetPwd():
    if request.method == "GET":
        return ops_render("/user/reset_pwd.html")

    # POST
    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'] = "请输入符合规范的新密码"
        return jsonify(resp)

    if new_password == old_password:
        resp['code'] = -1
        resp['msg'] = "请输入与原密码不相同的新密码"
        return jsonify(resp)
    # 获取用户信息,修改密码为新密码生成的加密密码
    user_info = g.current_user
    user_info.login_pwd = UserService.generatePwd(new_password,
                                                  user_info.login_salt)
    db.session.add(user_info)
    db.session.commit()

    # 更新cookie中的旧密码
    response = make_response(json.dumps(resp))
    response.set_cookie(
        app.config['AUTH_COOKIE_NAME'],
        "%s@%s" % (UserService.generateAuthCode(user_info), user_info.uid),
        60 * 60 * 24 * 5)

    return response
예제 #8
0
def set():
    if request.method == "GET":
        resp_data = {}
        req = request.args
        uid = int(req.get("id",0))
        info = None
        if uid:
            info = User.query.filter_by(uid=uid).first()
        resp_data['info'] = info
        return ops_render("/account/set.html",resp_data)
    # POST
    resp = {
        'code':200,
        'msg':"操作成功",
        'datat':{}
    }

    # 获取前端ajax传递的data
    req = request.values
    id = req['id'] if 'id' in req else 0
    nickname = req['nickname'] if 'id' in req else ''
    mobile = req['mobile'] if 'id' in req else ''
    email = req['email'] if 'id' in req else ''
    login_name = req['login_name'] if 'id' in req else ''
    login_pwd = req['login_pwd'] if 'id' in req else ''
    
    # 校检
    if nickname is None or len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入规范的昵称"
        return jsonify(resp)

    if mobile is None or len(mobile) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入规范的手机"
        return jsonify(resp)
    
    if email is None or len(email) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入规范的邮箱"
        return jsonify(resp)

    if login_name is None or len(login_name) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入规范的登录名"
        return jsonify(resp)

    if login_pwd is None or len(login_pwd) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入规范的登录密码"
        return jsonify(resp)

    # 筛选
    is_exits = User.query.filter(User.login_name == login_name,User.uid != id).first()
    if is_exits:
        resp['code'] = -1
        resp['msg'] = "该登录名已经存在,请更换"
        return jsonify(resp)
    
    user_info = User.query.filter_by(uid=id).first()

    if user_info:
        model_user = user_info
    else:
        model_user = User()
        # 插入格式化的时间
        model_user.created_time = getCurrentDate()
        # 生成16位的加密字符串
        model_user.login_salt = UserService.generateSalt()
    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name
    if user_info and user_info.uid == 1:
        resp['code'] = -1
        resp['msg'] = "该用户为Bruce"
        return jsonify(resp)

    model_user.login_pwd =  UserService.generatePwd(login_pwd,model_user.login_salt)
    # 插入格式化的时间
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()     
    return jsonify(resp)
예제 #9
0
파일: Account.py 프로젝트: dws940819/hmsc
def set():
    if request.method == "GET":
        resp_data = {}
        req = request.args
        uid = int(req.get("id", 0))
        info = None
        if uid:
            info = User.query.filter_by(uid=uid).first()
        resp_data['info'] = info
        return ops_render('account/set.html', resp_data)
    # POST  更新数据库
    resp = {'code': 200, 'msg': "操作成功", 'data': {}}
    # ajax 发送的数据
    req = request.values
    id = req['id'] if 'id' in req else 0
    nickname = req['nickname'] if 'nickname' in req else ''
    mobile = req['mobile'] if 'mobile' in req else ''
    email = req['email'] if 'email' in req else ''
    login_name = req['login_name'] if 'login_name' in req else ''
    login_pwd = req['login_pwd'] if 'login_pwd' in req else ''

    if nickname is None or len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的昵称"
        return jsonify(resp)
    if mobile is None or len(mobile) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的手机号"
        return jsonify(resp)
    if email is None or len(email) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的邮箱"
        return jsonify(resp)
    if login_name is None or len(login_name) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登录用户名"
        return jsonify(resp)
    if login_pwd is None or len(login_pwd) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的密码"
        return jsonify(resp)

    is_exsits = User.query.filter(User.login_name == login_name,
                                  User.uid != id).first()
    if is_exsits:
        resp['code'] = -1
        resp['msg'] = "该登录名已经存在,请更换"
        return jsonify(resp)

    user_info = User.query.filter_by(uid=id).first()
    if user_info:
        model_user = user_info
    else:
        model_user = User()
        model_user.created_time = getCurrentDate()
        model_user.login_salt = UserService.generateSalt()

    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email

    model_user.uid = 4
    model_user.avatar = 1
    model_user.login_name = login_name
    if user_info and user_info.uid == 1:
        resp['code'] = -1
        resp['msg'] = "该用户为Dws,不允许修改"
        return jsonify(resp)
    model_user.login_pwd = UserService.generatePwd(login_pwd,
                                                   model_user.login_salt)
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
예제 #10
0
파일: Account.py 프로젝트: w1032593545/hmsx
def set():
    if request.method == "GET":
        resp_data = {}
        uid = int(request.args.get("id", 0))
        info = None
        if uid:
            info = User.query.filter_by(uid=uid).first()
        resp_data['info'] = info
        return render_template("/account/set.html", **resp_data)
    # POST
    resp = {'code': 200, 'msg': '操作成功', 'data': {}}

    req = request.values
    id = req['id'] if 'id' in req else 0
    nickname = req['nickname'] if 'nickname' in req else ""
    mobile = req['mobile'] if 'mobile' in req else ""
    email = req['email'] if 'email' in req else ""
    login_name = req['login_name'] if 'login_name' in req else ""
    login_pwd = req['login_pwd'] if 'login_pwd' in req else ""

    # 校检
    if nickname is None or len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入规范的昵称'
        return jsonify(resp)

    if mobile is None or len(mobile) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入规范的手机号'
        return jsonify(resp)

    if email is None or len(email) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入规范的邮箱'
        return jsonify(resp)

    if login_name is None or len(login_name) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入规范的登录名'
        return jsonify(resp)

    if login_pwd is None or len(login_pwd) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入规范的登陆密码'
        return jsonify(resp)

    # 筛选
    is_exits = User.query.filter(User.login_name == login_name,
                                 User.uid != id).first()
    if is_exits:
        resp['code'] = -1
        resp['msg'] = '该用户名已存在,请重新输入'
        return jsonify(resp)
    # 根据前端a标签的id判断是修改还是创建
    user_info = User.query.filter_by(uid=id).first()

    if user_info:
        model_user = user_info
    else:
        model_user = User()
        # 插入格式化的时间
        model_user.created_time = getCurrentDate()
        # 生成16位的加密字符串
        model_user.login_salt = UserService.generateSalt()
    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name
    if user_info and user_info.uid == 1:
        resp['code'] = -1
        resp['msg'] = '该用户为Bruce'
        return jsonify(resp)
    model_user.login_pwd = UserService.generatePwd(login_pwd,
                                                   model_user.login_salt)
    # 插入格式化时间
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)