gpt4 book ai didi

python - 一个项目的 Django 多重身份验证后端

转载 作者:太空狗 更新时间:2023-10-29 17:52:07 25 4
gpt4 key购买 nike

我有一个用 Django 编写的应用程序,我必须扩展它并在该应用程序中包含一些其他解决方案作为“应用程序”。

比如我要集成的应用名为“my_new_app”现在有一个为主应用程序编写的后端身份验证,我无法使用它。

我有一个 MySQL 数据库可以查询,主要应用主要使用 Cassandra 和 Redis。

有什么方法可以为新应用程序“my_new_app”使用单独的身份验证后端并在同一域中运行这两个应用程序?

最佳答案

可以拥有多个身份验证后端。只需在 Django 项目的 settings.py 中设置 AUTHENTICATION_BACKENDS 即可列出您要使用的后端实现。例如,我经常结合使用 OpenID 身份验证和标准 Django 身份验证,就像在我的 settings.py 中这样:

AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'django_openid_auth.auth.OpenIDBackend',
)

在此示例中,Django 将首先尝试使用 django.contrib.auth.backends.ModelBackend 进行身份验证,这是 Django 的默认后端。如果失败,则它会移动到下一个后端,django_openid_auth.auth.OpenIDBackend

请注意,您的自定义后端必须位于 Django 可见的路径中。在此示例中,我必须将 django_openid_auth 添加到 INSTALLED_APPS,否则 Django 将无法导入它并将其用作后端。

也看了相关的文档,写的很好,通俗易懂: https://docs.djangoproject.com/en/dev/topics/auth/customizing/

关于python - 一个项目的 Django 多重身份验证后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17064443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com