Login
Login in eigener Extension
Hier wird der User gespeichert falls er angemeldet ist:
/**
* user
*
* @var Tx_Extbase_Domain_Repository_FrontendUser
*/
protected $user = null;
Hier die Methode die den Loginzustand prüft, den $this->user setzt oder zur Loginmaske weiterleitet falls nicht angemeldet:
/**
* checkLoginAction
*
* @return void
*/
public function checkLoginAction() {
if($this->isUserLoggedIn()) {
if ($this->user == null && $this->isUserLoggedIn()
|| ($this->user instanceof Tx_Rsysworkbook_Domain_Model_FrontendUser
&& $this->user->getUid() != $GLOBALS['TSFE']->fe_user->user['uid'])) {
$this->user = $this->frontendUserRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid']);
}
} else {
$this->user = null;
$this->redirectToUri("index.php?id=" . $this->settings["loginPID"]);
}
}
In einer geschützten Action sieht das dann so aus:
public function showAction(Tx_Rsysworkbook_Domain_Model_FrontendUser $frontendUser) {
// login check with redirect to login
$this->checkLoginAction();
$this->view->assign('frontendUser', $frontendUser);
}