温馨提示×

flask中Login怎么使用

发布时间:2021-05-04 11:28:46 来源:亿速云 阅读:69 作者:小新 栏目:编程语言

这篇文章主要介绍flask中Login怎么使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Flask-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怎么使用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

免费拨打  400 100 2938 免费拨打 400 100 2938
24小时售后技术支持 24小时售后技术支持
返回顶部 返回顶部