2017-02-28 11 views
0

のプログラムによるログイン後に保護されたページにユーザーをリダイレクトし、私はこのようなfe_userとして手​​動ログインをトリガー自分のログインメカニズムを、書いた:TYPO3:私のExtbase延長でfe_user

その後
$GLOBALS['TSFE']->fe_user->checkPid = 0; 
$info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray(); 
$user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $feUsername); 

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

this->redirect(null, null, null, null, 38); 

私はユーザーをリダイレクトこのfe_userだけがページにアクセスできるように、Usergroup Access Rightsが設定されているページ(ID 38)に移動します。

ログインは動作し、ログイン後、メニューの保護されたページが表示され、アクセスできます。ただし、保護されたページへのリダイレクトは機能しません。私はホームページに終わる。リダイレクトが行われているときに、ページが一度完全にロードされた後でのみ、ログインが何らかの形で完全にアクティブではないようです。

リダイレクトする前にログインを完全に適用するにはどうすればよいですか?

+0

あなたは(あなたが適切にやりたいことを意図している)、それのための認証サービスを使用していない特定の理由がありますか? – lorenz

+0

いいえ、私はfe_userログインのTYPO3内部認証サービスについて認識していませんでした。例がありますか? – Rob

答えて

0

私の提案:UriBuilderでアクションのURIを構築し、AbstractController-> redirectToUri関数を使用します。その後、新しいページが要求される前にログインが完了する必要があります。

1

制限されたページにアクセスするためにリダイレクトを強制する:

$uri = $this->uriBuilder->reset() 
       ->setTargetPageUid($yourTargetUid) 
       ->setCreateAbsoluteUri(true) 
       ->setLinkAccessRestrictedPages(true) 
       ->buildFrontendUri(); 
関連する問題