flask-login的使用3
2017-05-17 10:41
330 查看
# coding=utf-8 import flask app = flask.Flask(__name__) app.secret_key = 'super secret string' import flask_login from flask_login import login_required login_manager = flask_login.LoginManager() login_manager.init_app(app) users = {'foo@bar.tld': {'pw': 'secret'}} class User(flask_login.UserMixin): pass @login_manager.user_loader def user_loader(email): if email not in users: return user = User() user.id = email return user @login_manager.request_loader def request_loader(request): email = request.form.get('email') if email not in users: return user = User() user.id = email print '123' user.is_authenticated = request.form['pw'] == users[email]['pw'] return user @app.route('/login', methods=['GET', 'POST']) def login(): if flask.request.method == 'GET': return ''' <form action='login' method='POST'> <input type='text' name='email' id='email' placeholder='email'></input> <input type='password' name='pw' id='pw' placeholder='password'></input> <input type='submit' name='submit'></input> </form> ''' email = flask.request.form['email'] if email not in users: print '不存在' if email in users: if flask.request.form['pw'] == users[email]['pw']: user = User() user.id = email flask_login.login_user(user) return flask.redirect(flask.url_for('protected')) return 'Bad login' @app.route('/protected') @flask_login.login_required def protected(): return 'Logged in as: ' + flask_login.current_user.id @app.route('/logout') def logout(): flask_login.logout_user() return 'Logged out' @login_manager.unauthorized_handler # 未登录将会被执行这个函数 def unauthorized_handler(): return 'Unauthorized' @app.route('/require') @login_required def require(): return 'require' if __name__ == '__main__': app.run(debug=True)
相关文章推荐
- 用户认证(二)【使用Flask-Login认证用户】
- 用 Flask 来写个轻博客 (24) — 使用 Flask-Login 来保护应用安全
- Flask-Login使用教程
- Flask-Login 使用和进阶
- Flask Web开发入门(二)之Flask-Login使用
- flask-login使用笔记
- Flask-Login 使用和进阶
- 使用Flask-Login实现token验证和超时失效使用体会
- Flask-Login的使用
- [Python][flask][flask-login]关于flask-login中各种API使用实例
- Flask-Login的使用
- [轉]使用sp_change_users_login修复产生的孤立账户& 还原中的孤立用户
- 使用struts和spring开发时遇到Unable to load configuration. - action - |Caused by: Action class [login] not found - action -
- asp.net login控件使用Oracle
- 使用模板定制Login控件
- 使用ASP.NET中的Login控件
- 自定义membership的一些小程序(Login控件使用的例子)
- 使用Login控件执行自定义认证
- 自定义membership的一些小程序(Login控件使用的例子)
- 使用sp_change_users_login修复产生的孤立账户