一个非常简单的用于aiohttp的http基本auth实现。

aiohttp-basicauth-middleware的Python项目详细描述


https://travis-ci.org/bugov/aiohttp-basicauth-middleware.svg?branch=master

用于简单http-basic的Aiohttp中间件 对某些URL进行身份验证保护。

适用于Python>;=3.5

与UTF-8?配合使用

安装

pip install aiohttp-basicauth-middleware

用法

app=web.Application(loop=loop)app.router.add_route('GET','/hello',handler_a)app.router.add_route('GET','/admin/hello',handler_b)app.middlewares.append(basic_auth_middleware(('/admin',),{'user':'password'},))

基本认证中间件有3个参数:

  1. 受保护URL的列表。例如,['/admin']将匹配 与/admin/user匹配,但与/user/admin不匹配。
  2. auth dict–带对的dict:登录密码
  3. 密码比较策略(可选)。例如,你可以 将散列密码存储在auth dict中请参见aiohttp_basicauth_middleware.strategy.basestrategy 示例.strategy了解更多信息

MD5密码散列示例:

app=web.Application(loop=loop)app.router.add_route('GET','/hello',handler_a)app.router.add_route('GET','/admin/hello',handler_b)app.middlewares.append(basic_auth_middleware(('/admin',),{'user':'5f4dcc3b5aa765d61d8327deb882cf99'},lambdax:hashlib.md5(bytes(x,encoding='utf-8')).hexdigest(),))

/admin/..将由同一个登录名+密码对('user','password')访问

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将一个节点拖到另一个不运行JavaFX的节点中   java如何在spring boot中创建完全自定义的查询   java Arraylist和ArrayListBlockingQueue之间的区别是什么?   java Weblogic会中断长时间运行的线程吗   java如何调用displayAd()方法?   使用数组在两个组之间进行java IPL匹配   java如何在Eclipse中的org下创建测试套件。朱尼特   java获取屏幕上任意点的鼠标坐标   正则表达式需要java正则表达式方面的帮助   如何使用Java获取Ram大小和硬盘大小?   java如何将所需长度设置为数组中的整数?   安卓应用程序启动前的java程序已终止   swing设置要在Java代码中打印的页边距   迭代期间java故障安全迭代器的删除   java如何在main中调用方法,以便它们在同一行上输出?   编译Java:尝试播放mp3文件时出错   java如何使用Spring数据Rest在POST调用中保存嵌入对象   java JAXWS如何在端点外部注入SecurityContext