Flask本身只是建立了一个Web框架,很多功能都需要在Flask基础上进行扩展。如果是高手,可以手打一个Flask-Extension,普通人可以用已经开源扩展进行二次开发。用过的几个Flask的扩展库,目前为止Flask-Security库提供的功能模块是最贴近web应用的。
如果是新手可以直接从Flask-Security看起,Flask基本库有个基本认识就够了。可以从应用做起,不明白的地方再往回看。
- Session based authentication
- Role management
- Password hashing
- Basic HTTP authentication
- Token based authentication
- Token based account activation (optional)
- Token based password recovery / resetting (optional)
- User registration (optional)
- Login tracking (optional)
- JSON/Ajax Support
以上10项功能大部分都是web应用需要的。
Flask-Security提供了多个可以重载的Form,
login_form
: Login formconfirm_register_form
: Confirmable register formregister_form
: Register formforgot_password_form
: Forgot password formreset_password_form
: Reset password formchange_password_form
: Change password formsend_confirmation_form
: Send confirmation formpasswordless_login_form
: Passwordless login form
具体可以看开源项目:德数WMS
https://gitee.com/beipingOS/deshu-wms
项目的用户授权,数据库授权,login和注册都用到了Flask-Security