0
我試圖登錄的代碼FrontendUser在extbase擴展用下面的代碼:爲什麼頁面無法通過代碼登錄FE用戶?
$loginData = array(
'username' => $user['username'],
'uname' => $user['username'],
'uident' => $user['password'],
'uident_text' => $user['password'],
'status' => 'login'
);
$GLOBALS['TSFE']->fe_user->checkPid = FALSE;
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $loginData['username']);
$login_success = $GLOBALS['TSFE']->fe_user->compareUident($user, $loginData);
if ($login_success) {
$GLOBALS['TSFE']->loginUser = TRUE;
$GLOBALS['TSFE']->fe_user->fetchGroupData();
$GLOBALS['TSFE']->fe_user->forceSetCookie = TRUE;
$GLOBALS['TSFE']->fe_user->start();
$GLOBALS['TSFE']->fe_user->createUserSession($user);
$GLOBALS["TSFE"]->fe_user->loginSessionStarted = TRUE;
$GLOBALS["TSFE"]->fe_user->user = $GLOBALS["TSFE"]->fe_user->fetchUserSession();
return true;
} else return false;
會議似乎存在和$ GLOBALS [「TSFE」] - > fe_user->用戶和groupData數組不是空的。所以在我看來,用戶已登錄。
但是,如果我想渲染一些僅限於用戶/組的頁面內容,則結果爲空。
如果我使用默認登錄表單與前端用戶一起登錄,則用戶可以訪問這些頁面。
我做錯了什麼?
非常感謝
不要像這樣做。這不是公共API。相反,請提供帶有參數'username = X','userident = P'和'status = login'的發佈請求,並讓API處理剩下的內容。 – pgampe
好的,謝謝你的提示。你的意思是我可以使用類似GeneralUtility :: getUrl()的方式向自己發出請求併發送該數據以登錄? – HR123