Hi,
für mich ist das auch noch Neuland.
Es spricht nichts dagegen die TYPO3-Tools zu verwenden und die fe_user Tabelle zu nutzen oder?
Ich habs jetzt so gemacht, dass ich im Template aber auch in den Controllern überprüfe ob die User angemeldet sind und in einer bestimmten Gruppe stecken.
Für meinen Controller habe ich eine Funktion, welche ich bei jeder Action aufrufe:
PHP-Code:
private function forwardIfNotLoggedIn() {
$usergroup = explode(',', $GLOBALS['TSFE']->fe_user->user['usergroup']);
if(!in_array($this->settings['produkt']['editorUsergroupUid'], $usergroup))
$this->forward('list', 'Produkt');
}
Im TypoScript lege ich fest welche Gruppen die Inhalte sehen dürfen:
PHP-Code:
plugin.tx_recepto {
settings {
produkt.editorUsergroupUid = 2
}
}
Wenn ein User jetzt auf eine Action zugreifen will, zum Beispiel via Link, wird innerhalb der Action als erstes mal die forwardIfNotLoggedIn() aufgerufen. Und wenn der User dann nicht die entsprechende Gruppe hat leite ich ihn zu einer anderen Action um.
Mit dem felogin Plugin habe ich die Anmeldemaske eingebunden. Mein Plugin wird dann aber auch nur ausgegeben, wenn sich jemand angemeldet hat. Also im Grunde kontrolliere ich hier doppelt. Ohne Anmeldung wird das Plugin erst gar nicht ausgegeben, kann also auch nicht über Links angesprochen werden.
Im Fluid Template habe ich dann auch nochmal ein
<f:security.ifHasRole role="{settings.produkt.editorUsergroupUid}">
Bei meiner Ext hat jeder Eintrag auch einen bestimmten Administrator.
Im Frontend kann jeder seine eigenen Beiträge administrieren. Dafür habe ich dann nochmal eigene Abfragen drin. Falls Dich das interessiert musste Bescheid sagen.
Lesezeichen