我们从Python开源项目中,提取了以下12个代码示例,用于说明如何使用flask.ext.login.login_user()。
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())
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'
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"))
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"))
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'))
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')
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')
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'
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'
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'
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"))