Python flask.ext.login 模块,login_user() 实例源码

我们从Python开源项目中,提取了以下12个代码示例,用于说明如何使用flask.ext.login.login_user()

项目:grade-oven    作者:mikelmcdaniel    | 项目源码 | 文件源码
def login_():
  form = flask.request.form
  username = escape_lib.safe_entity_name(form.get('username'))
  password = form.get('password')
  if username and password:
    user = grade_oven_lib.GradeOvenUser.load_and_authenticate_user(
      data_store, username, password)
    if user is None:
      monitor_variables['login_failures'] += 1
      return flask.abort(401)
    else:
      monitor_variables['login_successes'] += 1
      login.login_user(user, remember=True)
      redirect = flask.request.args.get('redirect', '/')
      return flask.redirect(redirect, code=303)
  return flask.render_template(
    'login.html', username=login.current_user.get_id())
项目:flask_skeleton    作者:Bleezworld    | 项目源码 | 文件源码
def login():
    """login as our user.
    input: LoginRequest (if POST)
    output: ok.

    Request:
        ?email=xx&password=xx[&remember_me=1] (if GET, else arguments in LoginRequest)
    """
    if request.method == "POST":
        input_pb = protobuf_json.json2pb(all_pbs.LoginRequest(), request.get_json())
    else:
        input_pb = all_pbs.LoginRequest()
        input_pb.email = request.args.get("email", "")
        input_pb.password = request.args.get("password", "")
        input_pb.remember = request.args.get("remember", "") == "1"
    table = data_models.GetTable(data_models.RW_USERS)
    user_pb = data_models.ToProto(table.find_one({"info.email": input_pb.email}), data_models.RW_USERS)
    if not user_pb or user_pb.info.password != input_pb.password:
        abort(400)
    user = user_util.FLUser(user_pb)
    flogin.login_user(user, remember=input_pb.remember)
    session.permanent = True
    return 'ok'
项目:WinTheMini    作者:j10sanders    | 项目源码 | 文件源码
def register_post():
    try:
        if request.form["password"] != request.form["password2"]:
            flash("Your password and password verification didn't match.",
                  "danger")
            return redirect(url_for("register_get"))
        if len(request.form["password"]) < 8:
            flash("Your password needs to be at least 8 characters", "danger")
            return redirect(url_for("register_get"))
        user = User(name=request.form["username"],
                    password=generate_password_hash(request.form["password"]),
                    email=request.form["email"])
        session.add(user)
        allusers = session.query(User).all()
        for users in allusers:
            session.add(user.follow(users))
            session.add(users.follow(user))
        session.commit()
        flash("User successfully registered", "success")
        login_user(user)
        return redirect(request.args.get("next") or url_for("entries"))
    except IntegrityError:
        flash("The username or email was already taken." +
              " Maybe you need to reset your password (below)?", "danger")
        session.rollback()
        return redirect(url_for("register_get"))
项目:WinTheMini    作者:j10sanders    | 项目源码 | 文件源码
def pwreset_post(id):
    if request.form["password"] != request.form["password2"]:
        flash("Your password and password verification didn't match.", "danger")
        return redirect(url_for("pwreset_get", id = id))
    if len(request.form["password"]) < 8:
        flash("Your password needs to be at least 8 characters", "danger")
        return redirect(url_for("pwreset_get", id = id))
    user_reset = session.query(PWReset).filter_by(reset_key=id).one()
    #session.query(User).filter_by(id=user_reset.user.id).one()
    #gi(user_reset.user_id, "PRINTING ID")
    try:
        session.query(User).filter_by(id = user_reset.user_id).update({'password': generate_password_hash(request.form["password"])})
        session.commit()
    except IntegrityError:
        flash("Something went wrong", "danger")
        session.rollback()
        return redirect(url_for("entries"))
    user_reset.has_activated = True
    session.commit()
    flash("Your new password is saved.", "success")
    #login_user(user)
    return redirect(url_for("entries"))
项目:electron-crash-reporter    作者:lipis    | 项目源码 | 文件源码
def signin_user_db(user_db):
  if not user_db:
    return flask.redirect(flask.url_for('signin'))
  flask_user_db = FlaskUser(user_db)
  auth_params = flask.session.get('auth-params', {
    'next': flask.url_for('welcome'),
    'remember': False,
  })
  flask.session.pop('auth-params', None)
  if login.login_user(flask_user_db, remember=auth_params['remember']):
    user_db.put_async()
    return flask.redirect(util.get_next_url(auth_params['next']))
  flask.flash('Sorry, but you could not sign in.', category='danger')
  return flask.redirect(flask.url_for('signin'))
项目:meet-notes    作者:lipis    | 项目源码 | 文件源码
def signin_user_db(user_db):
  if not user_db:
    return flask.redirect(flask.url_for('signin'))
  flask_user_db = FlaskUser(user_db)
  auth_params = flask.session.get('auth-params', {
    'next': flask.url_for('welcome'),
    'remember': False,
  })
  flask.session.pop('auth-params', None)
  if login.login_user(flask_user_db, remember=auth_params['remember']):
    user_db.put_async()
    return flask.redirect(util.get_next_url(auth_params['next']))
  flask.flash('Sorry, but you could not sign in.', category='danger')
  return flask.redirect(flask.url_for('signin'))
项目:flask-task    作者:encima    | 项目源码 | 文件源码
def register():
    if request.method == 'POST':
        email = request.form['email']
        pw = request.form['pw']
        hash = sha256_crypt.encrypt(pw)
        user = User(email, hash)
        db.session.add(user)
        db.session.commit()
        flask_login.login_user(user)
        return redirect(url_for('index'))
    elif request.method == 'GET':
        return render_template('register.html')
项目:flask-task    作者:encima    | 项目源码 | 文件源码
def login():
    if request.method == 'POST':
        email = request.form['email']
        pw = request.form['pw']
        user = User.query.filter_by(email=email).first()
        if user is not None:
            if sha256_crypt.verify(pw, user.hash):
                # flask_login.login_user(user) #call is not working
                flask_login.current_user = user
                flask_login.remember_me = True
                return redirect(url_for('index'))
        return redirect(url_for('login'))
    elif request.method == 'GET':
        return render_template('login.html')
项目:flask_skeleton    作者:Bleezworld    | 项目源码 | 文件源码
def register():
    """Creates an account + the user in the database + auto login.

    input: RegistrationRequest
    output: "ok".
    """
    registration_req_pb = data_models.DictToProto(all_pbs.RegistrationRequest(), request.get_json())
    user_info_pb = registration_req_pb.user_info
    if not user_info_pb.email or \
            not registration_req_pb.stripe_token or \
            user_util.doesEmailExist(user_info_pb.email):
        abort(400)
    user_pb = all_pbs.User()
    user_pb.info.MergeFrom(user_info_pb)
    user_pb.id = data_models.GetUniqueId()
    customer = stripe.Customer.create(
        card=registration_req_pb.stripe_token,
        description='%s %s - %d' % (user_info_pb.first_name, user_info_pb.last_name, user_pb.id),
        email=user_info_pb.email,
        metadata={"user_id": user_pb.id},
    )
    if not customer:
        abort(400)
    timestamp_secs = utils.getTimestampSecs()
    user_pb.timestamp_creation_secs = timestamp_secs
    user_pb.stripe_customer_id = customer.id
    data_models.SaveProto(user_pb, data_models.RW_USERS)
    flogin.logout_user()
    user = user_util.FLUser(user_pb)
    flogin.login_user(user, remember=False)
    return 'ok'
项目:flask_skeleton    作者:Bleezworld    | 项目源码 | 文件源码
def debug_login():
    """Auto login with no password.

    ?user_id=2
    """
    if app.config[Constants.KEY_MODE] == Constants.PROD:
        abort(401)
    table = data_models.GetTable(data_models.RW_USERS)
    user_pb = data_models.ToProto(table.find_one({"_id": int(request.args.get('user_id'))}), data_models.RW_USERS)
    if not user_pb:
        return "error"
    user = user_util.FLUser(user_pb)
    flogin.login_user(user, remember=True)
    return 'ok'
项目:Firefly    作者:Firefly-Automation    | 项目源码 | 文件源码
def loginPage():
  if flask.request.method == 'GET':
    return render_template('login.html')

  email = flask.request.form['email']
  if flask.request.form['pw'] == users[email]['pw']:
    user = User()
    user.id = email
    if flask.request.form.get('remember'):
      user.remember = True
    flask_login.login_user(user)
    return flask.redirect('/dashboard')

  return 'Bad login'
项目:WinTheMini    作者:j10sanders    | 项目源码 | 文件源码
def login_post():
    email = request.form["email"]
    password = request.form["password"]
    user = session.query(User).filter_by(email=email).first()
    if not user or not check_password_hash(user.password, password):
        flash("Incorrect username or password", "danger")
        return redirect(url_for("login_get"))
    login_user(user, remember=True)
    flash("Logged in successfully", "success")
    return redirect(request.args.get('next') or url_for("add_entry_get"))