一个非常简单的用于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第三方库


热门话题
hdfs如何使用java归档文件修订安全?   java树的23个节点浪费了什么信息?   java jOOQ选择字段数据类型   java简单J2ee程序不工作   java中xml文件的多线程读写   xml随机字符串,在克隆节点中。JAVA   java如何从注册表编辑器中插入和检索密钥   java如何正确地为PreparedStatement创建sql查询(字符串),该语句的值在查询中重复出现?   Java虚拟机上的阵列分配和访问与内存争用   javascript如何将jQueryAjax上的html实体传递给java   javajavax。邮政NoSuchProviderException:使用Intellij运行spring应用程序时,没有SMTP错误的提供程序   如何在Java中从常量向注释提供枚举值   Java使用逐字扫描程序读取动态日志文件   不兼容类型java泛型问题   java可以为jtidy发布教程链接,将xhtml转换为xml   如何使Java 8成为Mac上的默认版本?