跳转到主要内容

基于Wagtail的早期检测研究网络认证和授权

项目描述

🔑 EDRN Auth

这是一个 Django 应用程序(即 Python 软件包),为 早期检测研究网络门户 和其他应用程序提供认证和授权。您可以使用 Wagtail CMS

目前它支持

  • Wagtail版本低于6但高于5
  • Django 版本低于5但高于4
  • Python 版本3.11或更高(但可能小于4)

💁 如何使用它

只需将 edrn.auth 添加到依赖项列表并安装它(例如在 requirements.txtpyproject.tomldependencies) 中),然后在您网站的 INSTALLED_APPS 中添加它。接下来,您将在自己的 urls.py 中使用类似以下内容导入 edrn.auth 的URL模式

from edrn.auth.urls import urlpatterns as edrn_auth_urlpatterns

urlpatterns = edrn_auth_urlpatterns + [
    # your own URL patterns
]

这将为您提供多个URL路径

  • _util/login/ 用于登录,覆盖Wagtail前端登录模板,包含完整的美国政府样板文本以及三种登录选项(门户、LabCAS、DMCC“安全”站点)
  • _util/portal-login(命名为 portal_login),用于登录,包含完整的美国政府样板文本,但只有门户登录(LabCAS和DMCC“安全”站点未提及)
  • logout/(命名为 logout),用于登出
  • authentication-test(命名为 authentication-test),用于测试凭据是否有效,使用HTTP Basic

您可以从 edrn.auth.views 导入几个实用程序,下面将对其进行描述。

🔐 view_or_basicauth

view_or_basicauth 作为一个装饰器与一个测试函数 test_func 一起使用。期望 test_func 接收一个参数,即Django的 HTTPRequest.user

如果测试函数成功,则返回装饰后的视图。否则,如果HTTP Basic身份验证存在且成功,则返回装饰后的视图。

否则,返回HTTP "未经授权" 状态,并带有HTTP Basic挑战。

🔒 logged_in_or_basicauth

装饰器 logged_in_or_basicauth 只使用上面的视图,将 test_func 设置为 user.is_authenticated

🔏authentication_context

函数 authentication_context 接受一个Django HTTPRequest,根据其状态,返回一个包含以下值的字典

  • authenticated:如果存在已验证用户,则为 True,否则为 False
  • logout:要访问以使当前用户登出的URL,如果适用
  • login:要访问以呈现完整的登录页面(包含三个替代目的地:门户、LabCAS和DMCC“安全”站点)的URL
  • portal_login:要访问以呈现仅门户登录页面的URL

此功能旨在在 get_context 方法或视图中使用,以提供方便的链接。

🥖 翻译

此软件包除US English外,尚未翻译成任何其他语言。

👏 贡献

我们期望此软件包的所有开发人员都遵守我们的 行为准则。请查看!我们对此事非常认真,并对我们的社区有高标准。有关如何向早期检测研究网络贡献软件的信息,请参阅我们的 贡献指南

🎈 支持

如果您遇到问题,请查看是否已提交问题(或提交一个新问题)到我们的 问题跟踪器。或者您可以通过 电子邮件 联系我们。

🪪 许可证

此软件包根据Apache许可证版本2授权。有关详细信息,请参阅 LICENSE.md 文件。

项目详情


下载文件

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

源分发

edrn_auth-2.0.0.tar.gz (13.7 kB 查看哈希)

上传时间

构建分发

edrn_auth-2.0.0-py3-none-any.whl (21.9 kB 查看哈希)

上传时间 Python 3

由以下支持