向Web服务添加动态密码身份验证
dynamic_password的Python项目详细描述
注意!只适用于像我这样的偏执狂。
项目代码和BugTracker托管在 Bitbucket和Github。
简介
django动态密码是一个django应用程序,允许您添加 Web服务的动态密码身份验证。
它是怎么工作的?
根据您的 settings.py。您还可以仅为员工用户启用此功能,请参见下文。
您可以根据以下内容格式化动态密码模式的值: http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior
一些例子。假设今天是2022年9月29日,8:01(09-29-2022 8:01)。假设您的用户名是“admin”,密码是“s3kr3t”,根据settings.py中的动态密码模式,您将拥有:
案例1:
DYNAMIC_PASSWORD_PATTERN = '<PASSWORD>%d' only today valid password: s3kr3t29
案例2:
DYNAMIC_PASSWORD_PATTERN = '%d<PASSWORD>%H' only this hour valid password: 29s3kr3t08
案例3:
DYNAMIC_PASSWORD_PATTERN = '%d<PASSWORD>%H-%M' only this minute valid password: 29s3kr3t08-01
安装
有几种不同的方法可以安装动态密码:
使用pip
如果您的系统上有pip安装,只需键入:
pip install django-dynamic-password
如果您已经有一个旧版本的动态密码,并且想要升级, 使用:
pip install -U django-dynamic-password
从目录安装
如果您使用Mercurial或 可下载的档案,你需要安装拷贝你有整个系统。 尝试运行:
python setup.py develop
如果失败,您就没有安装setuptools或等效的; 安装或运行:
python setup.py install
如何配置动态密码?
如果您已经安装了动态密码应用程序,则必须继续 项目的配置。
将动态密码添加到已安装的应用程序
一旦动态密码在python路径中,您需要修改已安装的应用程序设置,以包括动态密码模块:
INSTALLED_APPS = ( # ..., # Third-party 'dynamic_password', # ..., )
启用自定义身份验证后端
要激活此后端,至少需要放置dynamic_password.backends。 dynamicpasswordbackend行到身份验证后端元组:
- AUTHENTICATION_BACKENDS = (
- ‘dynamic_password.backends.DynamicPasswordBackend’, )
在设置中设置动态密码模式。py
将此行添加到您的设置中。py:
DYNAMIC_PASSWORD_PATTERN = ‘<PASSWORD>%m’
根据你的需要改变它的价值。 一些示例:
DYNAMIC_PASSWORD_PATTERN = '<PASSWORD>%d' DYNAMIC_PASSWORD_PATTERN = '<PASSWORD>%m' DYNAMIC_PASSWORD_PATTERN = '%m<PASSWORD>%d' DYNAMIC_PASSWORD_PATTERN = '%d<PASSWORD>%Y'
您可以根据http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior
可选:设置动态密码仅限员工
为了只为员工用户启用动态密码,您可以添加 设置行。py:
DYNAMIC_PASSWORD_ONLY_STAFF = True
未来发展计划
- 启用“每用户”动态密码,动态密码用户=('user1','user2',)