如何为TYPO3 Extbase FE插件代码创建更高的优先级?

时间:2018-01-12 11:06:55

标签: authentication typo3 extbase typo3-7.6.x hybridauth

我即将为TYPO3 7(LTS)编写自己的社交媒体登录扩展。 建立与FE用户的连接,一切似乎都有效。 该扩展程序提供了一个 FE插件,它具有典型的登录按钮。

我现在的问题是,登录代码运行得很晚(我想在FE插件环境中)。与登录状态相关的每个其他网站部件(模板扩展等)仍然说用户已注销。只有当您重新加载页面时,一切正常。

那么我在哪里以及如何初始化一个可以评估Extbase表单数据的函数并执行类似

的操作
$GLOBALS['TSFE']->fe_user->checkPid = 0;
$GLOBALS['TSFE']->fe_user->is_permanent = 0;
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $username);
$GLOBALS['TSFE']->fe_user->createUserSession($user);

$GLOBALS['TSFE']->loginUser = true;
$GLOBALS['TSFE']->fe_user->setAndSaveSessionData('dummy', TRUE);
$GLOBALS['TSFE']->fe_user->user = $GLOBALS['TSFE']->fe_user->fetchUserSession();

在任何其他扩展程序到来之前检查登录状态?

1 个答案:

答案 0 :(得分:4)

您应该做的是查看TYPO3的身份验证服务层 - 这是为前端和后端进行身份验证和创建会话的部分。文档充满了很好的描述

https://docs.typo3.org/typo3cms/Typo3ServicesReference/7.6/Developer/NewServiceType/Index.html

https://docs.typo3.org/typo3cms/Typo3ServicesReference/7.6/Authentication/Index.html

查看social_auth

等扩展程序

https://github.com/kalypso63/social_auth

供参考