visol/shibboleth-auth

TYPO3 CMS 的 Shibboleth 认证

安装次数: 16,362

依赖项: 0

建议者: 0

安全性: 0

星标: 3

关注者: 6

分支: 10

开放性问题: 3

类型:typo3-cms-extension

6.2.1 2023-03-29 17:17 UTC

README

EXT:shibboleth_auth

此扩展是对 TYPO3 扩展 shibboleth_auth 的分支,用于修复性能问题,并附带基于 Extbase 的登录插件。

此扩展启用基于 Shibboleth 的单点登录,用于前端和后端认证。

兼容性和维护

目前此包维护以下版本

先决条件

此扩展依赖于 Shibboleth 会话值在 $_SERVER 数组中可用。

这可以通过 Apache 或 nginx 实现,但使用 Apache 更容易。

在使用此扩展之前,必须在 Web 服务器上安装 Apache 的 Shibboleth 模块。

必须在文档根目录的 .htaccess 文件中添加以下 .htaccess 规则

AuthType shibboleth
Require shibboleth

此外,还需要重写以使 Shibboleth 端点可用

<IfModule mod_shib>
	RewriteRule ^(Shibhandler.*)/ - [L]
	RewriteRule ^(Shibboleth.sso)/ - [L]
</IfModule>

它必须是 htaccess 中的第一个 RewriteRule。

安装

通过 composer require visol/shibboleth-auth 安装此扩展并激活扩展。

安装扩展后,您必须在 Admin Tools -> 设置 -> 扩展配置中激活扩展的基本功能。

默认情况下,此扩展不会执行任何操作。Shibboleth 认证可以分别用于前端和后端。在激活和测试后端登录之前,强烈建议保留一个已认证的管理员用户打开的浏览器窗口(见下文)。

否则,如果您的 Shibboleth 配置不正确,您可能会将自己锁定在外。

使用前端登录

对于前端登录,您需要一个 TYPO3 文件夹来存储用户。要激活前端认证,编辑器可用一个插件。为了让插件工作,需要包含静态 TypoScript。您可以通过覆盖 TypoScript 常量路径来使用自己的模板

plugin.tx_shibbolethauth {
    view {
	    templateRootPaths.10 = EXT:shibboleth_auth/Resources/Private/Templates/
	    partialRootPaths.10 = EXT:shibboleth_auth/Resources/Private/Partials/
	    layoutRootPaths.10 = EXT:shibboleth_auth/Resources/Private/Layouts/
    }
}

如果没有前端用户登录,将显示登录链接。

与其他 TYPO3 登录一样,插件本身提供登录,而不是保护。如果您想限制对登录页面内容的访问,必须在访问设置中分配相关组。不要将任何限制分配给 Shibboleth 插件本身!否则不会执行登录重定向。

在插件中,您还可以配置成功认证后的重定向页面。如果登录页面 URL 中传递了 redirect_url 参数,则此参数优先于 FlexForm 设置,并使用此 URL 进行成功认证的重定向。

使用后端登录

如果扩展配置中启用了 Shibboleth 的后端登录,您将在 TYPO3 后端登录表单中看到一个额外的登录提供程序。

remoteUser 设置确定在认证过程中查找哪个后端用户。默认情况下,此设置为 REMOTE_USER。这意味着必须存在一个用户名与 REMOTE_USER 服务器变量值相同的用户。

您可以通过将 Resources/Private/Templates/BackendLogin/ShibbolethLogin.html 复制到另一个位置并调整其内容来自定义登录屏幕。然后,您可以使用 EXT:FILE: 前缀将配置 typo3LoginTemplate 设置为此路径。

支持

如果您需要在 Shibboleth 中设置您的 TYPO3 实例需要支持,您可以联系我们

visol digitale Dienstleistungen GmbH,www.visol.ch