0
私は次のコードでextbase拡張のコードでFrontendUserにログインしようとしている:ログイン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'というパラメータをpostリクエストして、APIが残りの部分を処理するようにしてください。 – pgampe
そのヒントをありがとう。あなたは、自分自身にリクエストを行い、そのデータをログインに送るために、GeneralUtility :: getUrl()のようなものを使うことができるという意味ですか? – HR123