基于Wagtail的早期检测研究网络认证和授权
项目描述
🔑 EDRN Auth
这是一个 Django 应用程序(即 Python 软件包),为 早期检测研究网络门户 和其他应用程序提供认证和授权。您可以使用 Wagtail CMS。
目前它支持
💁 如何使用它
只需将 edrn.auth 添加到依赖项列表并安装它(例如在 requirements.txt 或 pyproject.toml 的 dependencies) 中),然后在您网站的 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,否则为Falselogout:要访问以使当前用户登出的URL,如果适用login:要访问以呈现完整的登录页面(包含三个替代目的地:门户、LabCAS和DMCC“安全”站点)的URLportal_login:要访问以呈现仅门户登录页面的URL
此功能旨在在 get_context 方法或视图中使用,以提供方便的链接。
🥖 翻译
此软件包除US English外,尚未翻译成任何其他语言。
👏 贡献
我们期望此软件包的所有开发人员都遵守我们的 行为准则。请查看!我们对此事非常认真,并对我们的社区有高标准。有关如何向早期检测研究网络贡献软件的信息,请参阅我们的 贡献指南。
🎈 支持
如果您遇到问题,请查看是否已提交问题(或提交一个新问题)到我们的 问题跟踪器。或者您可以通过 电子邮件 联系我们。
🪪 许可证
此软件包根据Apache许可证版本2授权。有关详细信息,请参阅 LICENSE.md 文件。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。