基于http基本认证的django认证
django-auth-http-basic的Python项目详细描述
说明
此模块为http基本身份验证提供程序提供客户端 允许对django应用程序进行身份验证。它必须作为 Django身份验证后端。
这允许在web的帮助下验证django应用程序 已提供HTTP基本身份验证的服务器,如中所述 [RFC2617](https://www.ietf.org/rfc/rfc2617.txt)。web服务器,如apache 或者nginx,可以很容易地配置为适应复杂的身份验证场景, 例如,通过LDAP和手动过滤器的组合进行身份验证。你的Django project现在能够使用这样的配置。
安装
将此模块添加到setup.py和/或requirements.txt文件:
# … django-auth-http-basic # …
您至少需要django>;=1.10。
配置
在settings.py文件中,必须添加/设置变量 身份验证后端以便它包括身份验证后端,例如:
AUTHENTICATION_BACKENDS = [‘django_auth_http_basic.HttpBasicAuthBackend’]
此外,您必须指定提供http基本身份验证的url 在settings.py中为变量http\u basic\u auth\u url提供值 文件,例如:
HTTP_BASIC_AUTH_URL = ‘https://example.com/auth’
只要web服务符合http基本身份验证,就可以 用作身份验证后端。因为http基本身份验证传输 用户名和密码以明文形式,您应该通过https访问它。如果 Web服务器位于本地主机上,您可能使用未加密的HTTP。
如果没有用户名和/或 未提供密码。如果用户是 已验证,如果用户未验证,则返回403响应。目前, 除了2xx之外的每个响应代码都将被解释为失败的身份验证。 大多数Web服务器都符合此规则。但是,您可以自由地实现 拥有身份验证Web服务器。
出于测试目的,http_basic_auth_url可以设置为none。在这种情况下 不会联系任何Web服务器,每个用户都将通过身份验证。求求你了 请确保将http\u basic\u auth\u url更改为生产代码的有效url。
如果不将变量http_basic_auth_url设置为任何值,则任何用户都不会 被认证。在这种情况下,将向记录器发送错误消息 命名为django auth http basic。
您可以在设置中使用的另一个(可选)变量是 http_basic_auth_case。此值指定用户名是否 在后端处理区分大小写或不区分大小写的。它的价值本身 是治疗病例不敏感。只分析它的第一个字母。如果是“0”, “f”或“n”,则用户名将折叠为小写。如果你忽略了这个 变量,则假定值为“yes”。