python - 密码保护整个 Django 应用程序

标签 python django authentication

我在 heroku 上运行一个简单的暂存环境,我现在希望通过某种简单的身份验证来密码保护整个应用程序

我想知道是否有一个简单的应用程序或中间件已经支持它。 尝试使用 Heroku/Cloudflare 和 django 寻找解决方案,但似乎没有什么是真正直接的。

Django 1.3.1

最佳答案

我使用 django-lockdown 正是为了这个目的。它允许您在整个开发站点上添加一个简单的密码,而无需在您的 View 上添加任何不在开发环境之外使用的额外身份验证位。这也意味着您可以作为管理员或普通用户登录来测试您网站的功能

https://github.com/Dunedan/django-lockdown

我将 Heroku 和 Lockdown 与我的 settings.py 文件中的这段代码结合使用

USE_LOCKDOWN = os.environ.get('USE_LOCKDOWN', 'False') == 'True'
if USE_LOCKDOWN:
    INSTALLED_APPS += ('lockdown',)
    MIDDLEWARE_CLASSES += ('lockdown.middleware.LockdownMiddleware',)
    LOCKDOWN_PASSWORDS = (os.environ.get('LOCKDOWN_PASSWORD', 'False'),)
    LOCKDOWN_URL_EXCEPTIONS = (r'^/some/url/not/locked/down/$',)

然后显然在我的开发站点上将 USE_LOCKDOWN 的配置变量设置为 True,在我的生产站点上设置为 False,因此无需更改任何一个的代码。

关于python - 密码保护整个 Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13358809/

相关文章:

php - 如何在使用 php 的登录系统中使用 nonce 来避免重放攻击?

python - Dash 交互式图表不会从 Pandas Dataframe 更新

python - 我有一个 RSA 公钥指数和模数。如何使用 Python 加密字符串?

python - 为什么 virtualenv 从我的 shell 继承 $PYTHONPATH?

django - 如何为 Django 将 docker-compose.yml 翻译成 Dockerrun.aws.json

javascript - 通过 AWS Lambda 和 Cognito 注册用户(无服务器架构)

python - 如何忽略在另一个任务的 run() 中触发的 Luigi 任务失败

python - 我可以在 django 1.3 的 orm 中控制 GROUP BY 吗?

python - Pycharm 解析 Django 模板中的引用

authentication - Istio 从 ext-auth 中排除服务