跳转到主要内容

Wagtail的双因素认证

项目描述

这个Django应用为Wagtail添加了双因素认证。在幕后,它使用了支持基于时间的单次密码(TOTP)的django-otp。这使得您可以使用Authy、Google Authenticator或1Password等各种应用。

安装

pip install wagtail-2fa

然后,将以下行添加到您的Django设置中INSTALLED_APPS列表

INSTALLED_APPS = [
    # ...
    'wagtail_2fa',
    'django_otp',
    'django_otp.plugins.otp_totp',
    # ...
]

接下来,将所需的中间件添加到MIDDLEWARE。它应该在AuthenticationMiddleware之后

MIDDLEWARE = [
    # .. other middleware
    # 'django.contrib.auth.middleware.AuthenticationMiddleware',

    'wagtail_2fa.middleware.VerifyUserMiddleware',

    # 'wagtail.core.middleware.SiteMiddleware',
    # .. other middleware
]

迁移您的数据库

python manage.py migrate

设置

以下设置可用(通过您的Django设置设置)

  • WAGTAIL_2FA_REQUIRED(默认False):当设置为True时,所有员工、超级用户以及其他有权访问Wagtail管理站点的用户都强制使用双因素认证。

  • WAGTAIL_2FA_OTP_TOTP_NAME(默认:False):在您的认证应用中识别哪个站点的发行者名称。如果没有设置且定义了WAGTAIL_SITE_NAME,则使用此设置。在内部设置OTP_TOTP_ISSUER

使2FA可选

使用默认的VerifyUserMiddleware中间件,2FA为每个用户启用。要使2FA可选,请使用VerifyUserPermissionsMiddleware中间件。

为此,请使用VerifyUserPermissionsMiddleware中间件代替您的Django设置中的VerifyUserMiddleware

MIDDLEWARE = [
    # ...
    # 'wagtail_2fa.middleware.VerifyUserMiddleware',
    'wagtail_2fa.middleware.VerifyUserPermissionsMiddleware',
    # ...
]

当使用此中间件时,将在分组权限中添加一个复选框,并且可以按组启用或禁用2FA。

无论使用哪种中间件,超级用户始终启用2FA。

沙盒

首先使用Python 3.8创建一个新的虚拟环境并激活它。然后运行以下命令

make sandbox

您可以使用以下凭据访问http://localhost:8000/admin/进行登录

  • 电子邮件:superuser@example.com

  • 密码:testing

项目详情


下载文件

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

源分布

wagtail-2fa-1.6.9.tar.gz (17.8 kB 查看哈希值

上传时间:

构建分布

wagtail_2fa-1.6.9-py3-none-any.whl (24.1 kB 查看哈希值

上传于 Python 3

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页