django的基本身份验证实用程序。
django-basicauth的Python项目详细描述
django的基本身份验证实用程序。
需要
测试条件……
- Python
- 2.7
- 3.6
- 3.7
- 1.11
- 2.1
- 2.2
安装
pip install django-basicauth
用法
frombasicauth.decoratorsimportbasic_auth_required@basic_auth_requireddefmyview(request):...
或者通过中间件。
MIDDLEWARE=('basicauth.middleware.BasicAuthMiddleware',...)
在django 1.8上,MIDDLEWARE设置的名称是MIDDLEWARE_CLASSES。
仅对特定请求进行基本身份验证
要对特定请求应用基本身份验证, 使用target_test参数。
在下面的代码中,匿名用户将需要基本身份验证 经过身份验证的用户可以在不使用basic…header的情况下传递它。
frombasicauth.decoratorsimportbasic_auth_required@basic_auth_required(target_test=lambdarequest:notrequest.user.is_authenticated)defmyview(request):...
target_test接受typing.Callable[[HttpRequest], bool], 如果callable返回True,则需要基本身份验证。
将decorator应用于cbv
要将@basic_auth_requireddecorator应用于基于类的视图, 使用django.utils.decorators.method_decorator。
fromdjango.utils.decoratorsimportmethod_decoratorfrombasicauth.decoratorsimportbasic_auth_required@method_decorator(basic_auth_required,name='dispatch')classYourView(TemplateView):template_name="my-template.html"
设置
- BASICAUTH_USERS(必需):字典,包括作为用户名的密钥和作为密码的值。
- BASICAUTH_REALM:领域字符串,默认为“安全资源”。
- BASICAUTH_DISABLE:禁用此库的所有屏障。
更改
0.5.1(2018-08-06)
- 增加了对django2.1的支持
- 感谢@押韵
0.5(2018-05-09)
- 增加了支持django2.0的功能
- 谢谢@timheap
0.4.2(2017-11-27)
- 已修复以避免定时攻击
- 非常感谢雨果·卡斯蒂略
0.4.1(2017-10-20)
- 为decorator添加了target_test参数。
0.4(2017-09-30)
- 支持的Python2.7
- 下降了django1.9
- 支持Django 1.10+风格的中间件
0.3(2017-08-28)
- 添加了BASICAUTH_DISABLE设置
- 更改了basicauthutils.validate_request 的api
- 修正为返回真/假
- 通过此功能添加远程用户
0.2.1(2017-08-28)
- 官方支持的django 1.11、1.10、1.9
0.2(2016-03-31)
0.1(2015-04-20)
- 首字母