跳转到主要内容

devpi-lockdown:用于启用对读访问认证的工具

项目描述

devpi-lockdown:用于启用对读访问认证的工具

此插件添加了一些视图,以允许锁定对devpi的读访问。

目前仅与nginx进行了测试。

安装

devpi-lockdown需要与devpi-server一起安装。

您可以使用以下命令进行安装

pip install devpi-lockdown

使用方法

要锁定对devpi的读访问,您需要在devpi前面使用一个代理,该代理可以使用提供的视图来限制访问。

视图包括

/+authcheck

如果用户已认证,则返回200,如果未认证,则返回401。它使用常规的devpi凭证检查以及由devpi-lockdown提供的额外凭证检查,允许使用浏览器登录。

/+login

一个简单的登录表单,允许通过浏览器访问,用于与devpi-web一起使用。

/+logout

删除认证cookie。

对于nginx,需要auth_request模块。您应使用devpi-genconfig脚本来生成您的nginx配置。如果使用devpi-server 6.0.0或更高版本,则应已生成nginx-devpi-lockdown.conf。如果没有,则需要在服务器块中的第一个location块之前添加以下内容

# this redirects to the login view when not logged in
recursive_error_pages on;
error_page 401 = @error401;
location @error401 {
    return 302 /+login?goto_url=$request_uri;
}

# lock down everything by default
auth_request /+authcheck;

# the location to check whether the provided infos authenticate the user
location = /+authcheck {
    internal;

    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
    proxy_set_header X-Original-URI $request_uri;
    proxy_set_header X-outside-url $scheme://$http_host;  # copy the value from your existing configuration
    proxy_set_header X-Real-IP $remote_addr;  # copy the value from your existing configuration
    proxy_pass http://localhost:3141;  # copy the value from your existing configuration
}

变更日志

2.0.0 - 2021-05-16

  • 已取消对Python 2.7、3.4和3.5的支持。

  • 支持devpi-server 6.0.0。

  • 登录后重定向回原始URL。

  • 使用devpi-server 6.0.0,devpi-gen-config脚本创建了一个nginx-devpi-lockdown.conf

  • 自动允许登录页面所需的location。

  • 显示无效凭据的错误信息。

  • 支持Pyramid 2.0。

1.0.1 - 2018-11-16

  • 修复Pyramid >= 1.10.0的导入。

  • 将/+static添加到配置中

  • 默认情况下在配置中锁定一切,仅允许必要的location

1.0.0 - 2017-03-10

  • 初始版本

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

devpi-lockdown-2.0.0.tar.gz (14.1 kB 查看哈希值)

上传时间

构建分布

devpi_lockdown-2.0.0-py2.py3-none-any.whl (7.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持