• 技术文章 >Python框架 >Flask

    flask中Login的使用

    小妮浅浅小妮浅浅2021-02-24 11:00:52原创7417

    Flask-Login,简单的来说,就是一个用户登录页面的设置,可以说通过这种方法,我们可以对活跃用户和不活跃用户授予不同的权限。同时在会话的安全上有所保证。下面我们就Login的一些使用好处进行介绍,然后带来详细的Login使用实例供大家学习,一起来看看具体的内容吧。

    1、Login的好处

    会话中积累的活跃用户可以轻松登录。

    可以限制未登录的用户访问页面。

    处理记住我的功能。

    保护对话cookie不被小偷偷走。

    轻松集成到Flask-Principal或其他许可扩展。

    2、使用实例

    将需要提供一个user_loader 回调。这个回调用于通过在会话中存储的ID来加载用户对象,它应该使用用户的 unicode ID ,并返回相对应的用户对象。例如:

    @login_manager.user_loaderdef load_user(userid):return User.get(userid)

    它应该返回 None ( 不要抛出一个异常) 如果ID无效. (在这种情况下,ID应该手动的进行删除然后处理为继续运行。)

    一旦用户认证通过,你可以通过函数 login_user 进行登入,例如:

    @app.route("/login", methods=["GET", "POST"])def login():form = LoginForm()if form.validate_on_submit():# login and validate the user...login_user(user)flash("Logged in successfully.")return redirect(request.args.get("next") or url_for("index"))return render_template("login.html", form=form)

    它是如此简单。 你可以通过 current_user 代理获取用户,这个代理在整个模板中都是有效的:

    {% if current_user.is_authenticated() %}
      Hi {{ current_user.name }}!
    {% endif %}

    页面如果需要用户登录才可以访问可以使用 login_required 装饰器:

    @app.route("/settings")@login_requireddef settings():pass

    当用户需要登出时:

    @app.route("/logout")@login_requireddef logout():logout_user()return redirect(somewhere)

    它们即将登出,会话中的cookie将被全部清除。

    以上就是flask中Login的使用,如果大家没有听说的Login,不妨先就它进行一些基础的了解,然后再来体会它的用处。更多Python框架指路:Flask

    专题推荐:flask login
    上一篇:flask中如何对数据库进行管理 下一篇:Flask中login如何定制登陆过程

    相关文章推荐

    • 如何比较python中的flask和django?• Flask框架的概念及特点• flask中模板引擎怎么用?• flask中如何对数据库进行管理

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网