示例#1
0
def login():
    form=LoginForm()
    openid_from=OpenIDFrom()

    # Send the request for login to relay party(URL)
    if openid_from.validate_on_submit():
        return openid.try_login(
            openid_from.openid_url.data,
            ask_for=['nickname','email'],
            ask_for_optional=['fullname']
        )
    # Try to login the relay party failed.
    openid_errors=openid.fetch_error()
    if openid_errors:
        flash(openid_errors,category='danger')

    if form.validate_on_submit():

        user=User.query.filter_by(username=form.username.data).one()
        #login_user() 能够将已登录并通过 load_user() 的用户对应的 User 对象,
        # 保存在 session 中, 所以该用户在访问不同的页面的时候不需要重复登录.
        # 如果希望应用记住用户的登录状态, 只需要为 login_user()的形参 remember 传入 True 实参就可以了.
        login_user(user,remember=form.remember.data)

        identity_changed.send(
            current_app._get_current_object(),
            identity=Identity(user.id))

        flash("You have been logger in",category='success')
        return redirect(url_for('blog.home'))

    return render_template('login.html',form=form,
                           openid_from=openid_from)
示例#2
0
def login():
    form = LoginForm()
    openid_form = OpenIdForm()

    if openid_form.validate_on_submit():
        return oid.try_login(openid_form.openid.data,
                             ask_for=['nickname', 'email'],
                             ask_for_optional=['fullname'])

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).one()
        login_user(user, remember=True)
        # login_user(user, remember=form.remember.data)
        # 记住用户
        # 将验证成功的用户对象放入session当中。
        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(user.id))

        flash('你已经穿好衣服可以见人了.', category='success')
        # flask.flash(message, category='message')
        # 可为信息设置类别,方便在取出时进行筛选等。
        return redirect(url_for('blog.home'))

    openid_errors = oid.fetch_error()
    if openid_errors:
        flash(openid_errors, category='danger')

    return render_template('main/login.html',
                           form=form,
                           openid_form=openid_form)
示例#3
0
文件: views.py 项目: ubuntu-xuan/Erp
def login():
    if request.method == 'POST':
        if 'Username' in request.form:
            username = request.form['Username']
        else:
            username = ''

        if 'Password' in request.form:
            password = request.form['Password']
        else:
            password = ''

        user = User.query.filter_by(username=username).first()
        #print user
        if user is not None and user.verify_password(password):
            if user.username == 'admin':
                login_user(user)
                return redirect(request.args.get('next') or '/admin')
            else:
                login_user(user)
                identity_changed.send(current_app._get_current_object(),
                                      identity=Identity(user.id))
                return redirect(
                    request.args.get('next') or url_for('main.repertory'))
        flash(u'无效的帐户或密码')

    return render_template('auth/login.html')
示例#4
0
def login():
	"""登录模块"""

	loginform = LoginForm()

	openid_form = OpenIDForm()

	searchform = SearchForm()

	if openid_form.validate_on_submit():
		return openid.trg_login(
			openid_form.openid_url.data,
			ask_for=['nickname', 'email'],
			ask_for_optional=['fullname'])
	openid_errors = openid.fetch_error()
	if openid_errors:
		flash(openid_errors, category="danger")

	if loginform.validate_on_submit():

		user = User.query.filter_by(username=loginform.username.data).one()
		# 将已登录并通过load_user()的用户对应的User对象,保存在session中,所以该用户可以在访问不同页面时不需要重复登录
		login_user(user,remember=loginform.remember.data)

		identity_changed.send(current_app._get_current_object(),identity=Identity(user.id))

		"""flash("登录成功",category="success")"""
		return redirect(url_for('blog.home'))

	return render_template('login.html',loginform=loginform,openid_form=openid_form,searchform=searchform)
示例#5
0
def login():
    app.logger.debug(current_user)
    if current_user.is_authenticated:
        app.logger.info("User is authenticated")
        return redirect(url_for("padron"))

    if request.method == 'POST':
        app.logger.debug("Looking up user")
        user = User.objects(username=request.form['username']).first()
        if user and user.check_password(request.form['password']):
            app.logger.debug("Password is correct")
            app.logger.debug("user: %s" % user.username)

            login_user(user, remember=True)
            app.logger.debug("first login: %s" % user.first_login)

            identity_changed.send(current_app._get_current_object(),
                                  identity=Identity(user))

            app.logger.debug("user is authenticated: %s" %
                             current_user.is_authenticated)

            next_page = request.args.get('next')
            app.logger.debug("Redirecting from login")
            if not next_page or url_parse(next_page).netloc != '':
                return redirect(url_for("padron"))
            return redirect(next_page)
        else:
            flash('Usuario o contraseña incorrectos')
    app.logger.info("User is NOT authenticated")
    return render_template('login.html')
示例#6
0
def login():
    """View function for login."""

    # Will be check the account whether rigjt.
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).one()

        # 登入用户
        # login_user(user, remember = form.remember.data)
        # 都是管理员 设置记住身份应该不合适
        login_user(user)

        # 防止next异常、攻击、等各种,具体根据自己的需要去写。
        # if not next_is_valid(next):
        #     return abort(400)

        # 改变用户身份
        identity_changed.send(
            current_app._get_current_object(),
            identity=Identity(user.id),
        )

        flash("You have been logged in.", category="success")
        return redirect(url_for('admin.home'))

    return render_template('admin/login.html', form=form)
示例#7
0
def login():
    """View function for login."""

    # Will be check the account whether rigjt.
    form = LoginForm()

    #check the account whether right
    if form.validate_on_submit():
        #if session.get('image') != form.verify_code.data.lower():
        #flash(u'验证码错误','error')
        #return render_template('login.html',
        #form=form)

        # Using session to check the user's login status
        # Add the user's name to cookie.
        session['username'] = form.username.data
        user = User.query.filter_by(username=form.username.data).one()

        # Using the Flask-Login to processing and check the login status for user
        # Remember the user's login status.
        login_user(user)  #, remember=form.remember.data

        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(user.id))

        flash("You have been logged in.", category="success")
        return redirect(url_for('blog.home'))
    return render_template('login.html', form=form)
示例#8
0
def logout():
    logout_user()
    #注销后身份变成匿名
    identity_changed.send(
        current_app._get_current_object(),
        identity=AnonymousIdentity())
    return redirect(url_for('auth.login'))
示例#9
0
def logout():
    logout_user()
    #删除principal存在session中的数据
    for key in ('identity.name', 'identity.auth_type'):
        session.pop(key, None)
    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())
    flash('你已经脱去马甲,请不要裸奔', category='success')
    return redirect(url_for('blog.home'))
示例#10
0
def logout():

    logout_user()

    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())

    flash('You have been logged out.', category='success')
    return redirect(url_for('main.login'))
示例#11
0
def logout():
	"""退出登录模块"""

	# 使用logout_user来将用户从session中删除
	logout_user()

	identity_change.send(current_app._get_current_object(),identity=AnonymousIdentity())

	flash("退出登录",category="success")
	return redirect(url_for('main.login'))
示例#12
0
def logout():
#Logout 时, 使用 logout_user 来将用户从 session 中删除.
    logout_user()

    identity_changed.send(
        current_app._get_current_object(),
        identity=AnonymousIdentity())

    flash("You have been logged out",category='success')
    return redirect(url_for('blog.home'))
示例#13
0
def login():

    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).one()
        login_user(user, remember=form.remember.data)
        identity_changed.send(current_app._get_current_object(), identity=Identity(user.id))
        flash("You have logined in", category="success")
        return redirect(url_for('blog.home'))

    return render_template('login.html', form=form)
示例#14
0
def logout():
    logout_user()

    # Remove session keys set by Flask-Principal
    for key in ('identity.name', 'identity.auth_type'):
        session.pop(key, None)

    # Tell Flask-Principal the user is anonymous
    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())

    return redirect(url_for('login'))
示例#15
0
def logout():
    """View function for logout."""

    # 登出用户
    logout_user()

    # 改变用户身份
    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())

    flash("You have been logged out.", category="success")
    return redirect(url_for('/.home'))
示例#16
0
def logout():
    """View function for logout."""

    # Using the Flask-Login to processing and check the logout status for user.
    logout_user()

    identity_changed.send(
        current_app._get_current_object(),
        identity=AnonymousIdentity())

    flash("You have been logged out.", category="success")
    return redirect(url_for('blog.blog_list'))
示例#17
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = BlogUser.query.filter_by(name=form.name.data).one()

        login_user(user, remember=form.remember.data)
        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(user.id))

        flash("登录成功", category="success")
        return redirect(url_for('blog.article_list', page=1))
    return render_template('auth/login.html', obj_form=form)
示例#18
0
def logout():
    # Remove the user information from the session
    logout_user()

    # Remove session keys set by Flask-Principal
    for key in ('identity.login', 'identity.auth_type'):
        session.pop(key, None)

    # Tell Flask-Principal the user is anonymous
    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())

    return redirect(request.args.get('next') or '/')
示例#19
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username = form.username.data).one()
        login_user(user,remember = form.remember.data)
        print('next--------------------------------------:',(request.args.get('next')))
        next = request.args.get('next')
        identity_changed.send(current_app._get_current_object(),identity = Identity(user.id))
        #flash('You have been logged in .',category='success')

        #if not next_is_valid(next):
        #    return flask.abort(400)
        return redirect(next or url_for('blog.home',page=1))
    return render_template('login.html',form=form)
示例#20
0
def logout():
    """View function for logout."""

    # Remove the username from the cookie.
    # session.pop('username', None)

    # Using the Flask-Login to processing and check the logout status for user.
    logout_user()

    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())

    flash("You have been logged out.", category="success")
    return redirect(url_for('main.login'))
示例#21
0
def login():
    """View function for login.

       Flask-OpenID will be receive the Authentication-information
       from relay party.
    """

    # Create the object for LoginForm
    form = LoginForm()
    # Create the object for OpenIDForm
    openid_form = OpenIDForm()

    # Send the request for login to relay party(URL).
    if openid_form.validate_on_submit():
        return openid.trg_login(
            openid_form.openid_url.data,
            ask_for=['nickname', 'email'],
            ask_for_optional=['fullname'])

    # Try to login the relay party failed.
    openid_errors = openid.fetch_error()
    if openid_errors:
        flash(openid_errors, category="danger")

    # Will be check the account whether rigjt.
    if form.validate_on_submit():

        # Using session to check the user's login status
        # Add the user's name to cookie.
        # session['username'] = form.username.data

        user = User.query.filter_by(username=form.username.data).one()

        # Using the Flask-Login to processing and check the login status for user
        # Remember the user's login status. 
        login_user(user, remember=form.remember.data)

        identity_changed.send(
            current_app._get_current_object(),
            identity=Identity(user.id))

        flash("You have been logged in.", category="success")
        return redirect(url_for('blog.home'))

    return render_template('login.html',
                           form=form,
                           openid_form=openid_form)
示例#22
0
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        check = request.form.get('check')
        user = User.query.filter_by(username=username).first()
        if user and user.check_password_hash(password):
            if check:
                login_user(user,remember=True)
            else:
                login_user(user)
            #登录时的身份变化
            identity_changed.send(
                current_app._get_current_object(),
                identity=Identity(user.id))
            return redirect(url_for('main.index'))
        else:
            flash("账户或密码错误!")
    return render_template('login.html')
示例#23
0
    def login_view(self):
        # handle user login
        from common.login import LoginForm
        form = LoginForm(request.form)
        try:
            if helpers.validate_form_on_submit(form):
                user = form.get_user()
                remember = form.remember.data
                login.login_user(user, remember)

            if login.current_user.is_authenticated:
                identity_changed.send(current_app._get_current_object(),
                                      identity=Identity(user.username))
                return redirect(url_for('.index'))
        except:
            pass

        self._template_args['form'] = form

        return render_template('admin/login.html', form=form)
示例#24
0
def login():
    """登录的视图函数"""

    #先检查一下
    form = LoginForm()

    if form.validate_on_submit():

        #用session检查用户登录状态,把用户名加入cookie,
        user = User.query.filter_by(username=form.username.data).one()
        #用Flask-Login来处理登录状态
        login_user(user, remember=form.remember.data)

        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(user.id))

        flash('You have been logged in.', category='success')
        return redirect(url_for('blog.home'))

    return render_template('login.html', form=form)
示例#25
0
def login():
    """View function for login."""

    # Will be check the account whether rigjt.
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).one()

        # Using the Flask-Login to processing and check the login status for user
        # Remember the user's login status.
        login_user(user, remember=form.remember.data)

        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(user.id))

        flash("You have been logged in.", category="success")
        return redirect(url_for('blog.home'))

    return render_template('login.html', form=form)
示例#26
0
def login():
    # A hypothetical login form that uses Flask-WTF
    form = LoginForm()

    # Validate form input
    if form.validate_on_submit():
        # Retrieve the user from the hypothetical datastore
        user = User.query.filter_by(login=form.login.data).first()

        # Compare passwords (use password hashing production)
        if form.password.data == user.password:
            # Keep the user info in the session using Flask-Login
            login_user(user)

            # Tell Flask-Principal the identity changed
            identity_changed.send(current_app._get_current_object(),
                                  identity=Identity(user.id))

            return redirect(request.args.get('next') or '/')

    return render_template('authorization/login.html',
                           form=form,
                           current_user=current_user)
示例#27
0
def login():
    form = LoginForm()
    if current_user.is_authenticated:
        return redirect('/admin')
    if request.method == 'POST':
        # print(form.validate_on_submit())
        # print(bcrypt.generate_password_hash(p).decode('utf-8'))
        if form.validate_on_submit():
            u = form.username.data
            p = form.password.data
            # user = User.query.filter(User.username==u,User.password==p)
            user = User.query.filter_by(username=form.username.data).one()
            login_user(user, remember=form.remember.data)
            m = identity_changed.send(current_app._get_current_object(),
                                      identity=Identity(user.id))
            # print(u,p,m)
            flash('Logged in successfully')
            # next = request.args.get('next')
            # if not is_safe_url(next):
            #     return abort(400)
            # return redirect(next or url_for('index'))
            return redirect('/admin')
    return render_template('admin/login.html', form=form)
示例#28
0
def get_user_info():
    if 'qq_oauth_token' in session:
        data = update_qq_api_request_data()
        resp = qq.get('/user/get_user_info', data=data)
        data = json.loads(resp.data, encoding='utf-8')
        # return jsonify(data=data,status=resp.status)

        qq_username = data['nickname']

        user = User.query.filter_by(username=qq_username).first()
        if user is None:
            user = User(id=str(uuid4()),
                        username=qq_username,
                        password='******')
            db.session.add(user)
            db.session.commit()

        login_user(user)  #, remember=form.remember.data

        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(user.id))
        flash('You have been login in ', category='success')
        return redirect(url_for('blog.home'))
    return redirect(url_for('blog.home'))
示例#29
0
def _on_principal_final():
    for key in ('identity.name', 'identity.auth_type'):
        session.pop(key, None)
    #Tell Flask-Principal the user is anonymous
    identity_changed.send(current_app._get_current_object(),
            identity=AnonymousIdentity())
示例#30
0
def logout():
    logout_user()
    identity_changed.send(current_app._get_current_object(),
                          identity=AnonymousIdentity())
    flash("退出登录成功", category="success")
    return redirect(url_for('site.login'))
示例#31
0
 def logout_view(self):
     login.logout_user()
     identity_changed.send(current_app._get_current_object(),
                           identity=AnonymousIdentity())
     return redirect(url_for('.login_view'))