当前位置: 首页 > 面试题库 >

一个项目的Django多重身份验证后端,如何?

须新
2023-03-14
问题内容

在这里需要认真的帮助。

我有一个用django / python编写的应用程序,我必须对其进行扩展,并在此应用程序中包含一些其他解决方案作为“应用程序”。例如,我要集成的应用程序名为“ my_new_app”。现在为主应用程序编写了一个后端身份验证,我无法使用它。我有一个要查询的mysql数据库,主要应用程序主要使用cassendra和redis。所以我的问题是,有什么办法可以为新应用“ my_new_app”使用单独的身份验证后端,并在同一个域中运行两者?问题可能不是那么清楚,如果有问题我会澄清。


问题答案:

你可以有多个身份验证后端。只需AUTHENTICATION_BACKENDSsettings.pyDjango项目中设置in 即可列出你要使用的后端实现。例如,我经常结合使用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将无法导入它并将其用作后端。



 类似资料:
  • 我是Spring Security的新手 我有Sprint Boot Rest API项目,它公开了某些API。我已经为所有API实现了基于承载令牌的身份验证。例如 /user、 /resource、 /appointment 现在,对于特定控制器的几个api,我希望实现基本身份验证。这些API将被另一个不公开的服务使用。为了保证API的安全性,我希望为这些apis提供基本身份验证。例如 /int

  • 我正在laravel中创建一个多身份验证系统,其中有两种类型的用户:管理员(由我创建)和用户(使用本地laravel身份验证系统)。 如果我以用户身份登录,当我尝试访问登录页面时,当我已经登录,它会将我重定向回仪表板,但如果我以管理员身份登录,当我再次访问管理员登录页面时,它会让我再次登录,尽管已经作为管理员登录。 以下是我的重定向身份验证类代码: 有人能解释一下发生了什么事吗?

  • 我的管理员控制器扩展了控制器类,在那里我使用方法加载视图页面并传递保护。config/auth.php也通过添加管理员保护和提供程序进行了修改。在app/Actions/Fortify文件夹中,我添加了AttemptToAuthenticate和ReDirectIfTwoFactorAuthenticate类,并更改了命名空间。我的管理员控制器还扩展了Guard。用户的重定向中间件和管理员的重定向

  • 在我的LaravelV5.4项目中,我有两个模型:用户和管理员。 在config/auth.php中,我向警卫和提供者添加了admin,如下所示: 现在在AdminController类中,我想使用Auth::true函数,但默认情况下它使用用户表。我可以在config/auth.php中更改默认值,如下所示,它可以工作,但在这种情况下,我不能为用户使用auth::trunt。 我想将用户设置为默

  • 我想使用多身份验证Laravel,但只有一个表"用户" 我如何实现这一点?

  • 我正在进行多重身份验证。我的前端有一个带有卡号和密码的登录表单。在auth.php中 在route.php中 在logincontroller中, 在loginModel.php中 当我尝试登录时,我收到此错误 EloquentUserProvider.php第110行中的错误异常:传递给Illumate\Auth\EloquentUserProvider的参数1::validateCreenti