ubl/vufind-auth

根据已验证的vufind会话进行用户身份验证

安装: 7

依赖关系: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

类型:typo3-cms-extension

3.2.0 2024-09-04 11:11 UTC

This package is not auto-updated.

Last update: 2024-09-18 20:24:53 UTC


README

此扩展使 typo3 能够使用 vufind 进行前端用户身份验证。在登录到目录后,此扩展将读取session-cookie并从vufind-database检索所有必要信息以识别已授权用户,前提是满足要求。

要求

  • vufind >= v2
  • typo3 >= 8.0.0
  • zendframework/zendstdlib >= 3.1
  • vufind-database是mysql
  • vufind会话存储在数据库中
  • typo3安装有权访问vufind数据库
  • 一个共享的cookie-domain

准备Typo3

为了使此扩展正常工作,我们需要zendframework/zend-stdlib类可用。因此,我们需要一个自动加载器,在该自动加载器中加载这些类到以下位置:

<PATH_site>/Packages/Libraries/autoload.php

最简单的方法是使用composer安装包,例如:

COMPOSER_VENDOR_DIR="Packages/Libraries" composer require zendframework/zend-stdlib

请注意,您必须手动调整composer.json中的vendor-dir,以保留文件夹以供将来安装。如果您有一个启用了composer的typo3安装,您可能可以使用默认设置。

准备VuFind

首先请注意,您的Typo3主机有权访问VuFind数据库。因此,我们建议为VuFind表sessionuser创建一个具有限制性规则的单独用户。

数据库作为会话存储

VuFind有一个简单选项将会话数据存储在其自己的数据库中。因此,必须在config.ini中的Session部分将选项type设置为'Database',并保持会话未加密。

[Session]
type = Database
secure = false

Cookie域名

为了使Typo3能够读取vufind-cookie,我们必须将cookie-domain设置为共享域名值。这是通过Cookies部分的domain选项完成的

[Cookies]
domain = ".example.edu"

配置扩展

在扩展管理器中配置tx-vufind-auth是必要的。

存储

  • pid = 1:这是存储前端用户和组的typo3-pag-id

数据库

  • host = localhost:vufind数据库服务器运行的宿主机
  • port = 3306:vufind数据库服务器运行的端口号
  • name = vufind:vufind数据库名称
  • user = vufind:连接到vufind数据库的用户
  • pass:vufind数据库用户的密码

会话

  • cookiename = PHPSESSID:vufind会话cookie的名称
  • lifetime = 3600:会话有效期(见vufind config.ini,Session部分,lifetime选项)

命令行工具

清理用户

在typo3的命令行界面中有一个清理命令,可以从fe_users表中删除过时的用户数据。

请注意,将用户保存到fe_users中的VuFind概念仅取决于Typo3中其他扩展的需求。因此,在应用程序需求和数据经济之间进行良好的计算,考虑到保留受信任的个人数据的风险。

参数

--days int (Default: 60) Amount of days to keep the record of a user since last login.

在后台设置说明

转到调度程序->添加任务

  • 中选择Extbase-CommandController-Task
  • 频率中指定调度任务应该运行多频繁以及在哪个时间段内运行。(需要秒数或cronjob设置。)
  • CommandController Command的选择框中,选择VuFindAuth Cleanup: cleanupFrontendUser
  • 在下一步保存任务!这对于显示命令行工具的附加参数表单元素非常重要。
  • 向下滚动并指定从上次用户登录以来保留记录的天数。默认为60天。
  • 再次保存任务!

对于开发问题,也可以在终端上运行该任务。