---
title: "fe_user : Zu welcher Gruppe gehört er?"
url: "https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","Frontend-Benutzer","PHP"]
created: "2006-07-05"
last_reply: "2007-03-22"
replies: 7
solved: false
page: 1
pages: 1
lang: "de"
---

# fe_user : Zu welcher Gruppe gehört er?

Extensions › Entwicklung · 7 Antworten · gestartet 2006-07-05

## Eröffnungsbeitrag

**Bitbull** · 2006-07-05 · [Beitrag #1](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/1)

Hallo zusammen.

Brüte bei 32°C über folgendem Problem:
Bei einer neuen Extension soll ein Teilbereich nur dann angezeigt werden, wenn der eingeloggte fe_user Mitglied einer ganz bestimmten Gruppe ist.

Nun kann man ja beispielsweise die uid des aktuellen Users mit einer Funktion wie

> function user_getuserid($content,$conf)
> {
>         return $GLOBALS['TSFE']->fe_user->user[uid];
> }

auslesen. Somit wäre es theoretisch ebenfalls möglich, auf das Feld "usergroup" zuzugreifen. Ich würde dann allerdings ein Array erhalten, da ja ein User mehreren Groups zugeordnet sein kann.

Muss ich erst das Array auflösen, um danach z.B. in einer Abfrage zu klären, ob der User Mitglied der erlaubten Gruppe ist oder gibts für diese Problemstellung irgendwo eine elegantere Lösung?

Für abkühlende Hilfestellung sehr dankbar,

Bitbull

## Antworten

### [#2](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/2) · lefreak · 2006-07-05

Es gibt auf jeden Fall einen eleganteren Weg sich die Daten zu holen, da das Objekt $GLOBALS['TSFE']->fe_user bereits alle Userbezogenen Daten wie Gruppenzugehörigkeit etc. enthält. Schau es dir einfach mal mit print_r($GLOBALS['TSFE']->fe_user) an.

Ich würde deshalb auf die hier hinterlegten Werte zugreifen, die schleppst bei jedem Aufruf mit.

Ferner findest du in der Klasse tslib_feUserAuth alle benötigten Methoden um entsprechende Berechtigungen zu prüfen.

### [#3](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/3) · Bitbull · 2006-07-05

Merci, Monsieur Lefreak!

Hast mir sehr geholfen. Kannte die Klasse bisher nicht!

Danke.

Au revoir

Bitbull

### [#4](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/4) · just2b · 2006-07-06

und wie gehts nun?

georg

### [#5](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/5) · lefreak · 2006-07-06

Wenn du es dir einfach machen willst verwendest einfach die
Methode function checkPageGroupAccess aus der class.tslib_fe.php.

```php
function checkPageGroupAccess($row, $groupList=NULL) {
                 if(is_null($groupList)) {
                        $groupList = $this->gr_list;
                 }
                 if(!is_array($groupList)) {
                        $groupList = explode(',', $groupList);
                 }
                 $pageGroupList = explode(',', $row['fe_group'] ? $row['fe_group'] : 0);
                 return count(array_intersect($groupList, $pageGroupList)) > 0;
         }
```

### [#6](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/6) · Bitbull · 2006-07-06

Ich nochmal.

nochmals vielen Dank bei Monsieur Lefreak. Die Funktionen waren für mich hilfreich; am Ende jedoch habe ich jedoch erstmal "schnell und schmutzig" gecodet, um meinem Ansinnen gerecht zu werden.

Damit nun alle Forenmitglieder mit ähnlich gelagertem Problem meiner Erkenntnis teilhaftig werden, hier mein Lösungsweg (ich gebe gerne zu, dass er noch stark ausbaufähig ist - Stichworte: Flexforms, mehrere Groups, Validierung...)

Zur Sache:

1.
Im TS definieren wir, welche FE-Group "mehr" sehen soll als die anderen:

```typoscript
# Das Plugin "extensionname" erhält eine FE_Group für den Godmode
plugin.tx_extensionname_pi1 {
	allmightyGroup=3
}
```

2.
An passender Stelle in der Extension bauen wir folgende Variablenzuweisung mit anschließender Abfrage ein:

```php
			$userGroupList = explode(',',$GLOBALS['TSFE']->fe_user->user[usergroup]);
			
	// Vergleiche das Array mit der im TS bestimmten Group
	if (in_array($this->conf['allmightyGroup'], $userGroupList)) {
		// User darf alles sehen : "Godmode"
		// Code einfügen
	} else {
		// User sieht nur Standard
		// Code einfügen
	}
```

Tjo. Das wars auch schon. Funzt wie's soll und ist nach meinem Geschmack nicht sonderlich überfrachtet. Für Anregungen aber weiterhin dankbar,

Bitbull

### [#7](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/7) · dapter · 2006-07-24

Dein Lösungsansatz ist leider unvollständig. $GLOBALS['TSFE']->fe_user->user[usergroup] enthält nicht alle Gruppen, denen ein User zugeordnet ist, sondern nur die, die man beim Bearbeiten des Benutzers "direkt" eingetragen hat. Nun können Gruppen aber Untergruppen haben. Ein FE-User einer Obergruppe ist automatisch auch Mitglied der Untergruppe. In deinem Ansatz ist das aber nicht berücksichtigt.

Ich frage mich gerade, ob $GLOBALS['TSFE']->gr_list hier hilfreich sein kann, bin aber noch nicht ganz schlau geworden aus diesem kommaseparierten Wert...

### [#8](https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er/8) · Bitbull · 2007-03-22

Nachtrag zu dapter:

das mag sein, aber in dieser speziellen Umgebung lege nur ich fest, wer in welche Gruppe kommt.

Ferner kann man bei komplexeren Anwendungen eine Abfrage nach dem Schema laufen lassen:

```php
SELECT * FROM fe_users WHERE usergroup LIKE '%".$this->piVars['auswGROUP']."%' AND disable=0 AND deleted=0
```

Viele Grüße

Bitbull

---

Quelle: „fe_user : Zu welcher Gruppe gehört er?“, typo3.net, https://www.typo3.net/d/45944-fe-user-zu-welcher-gruppe-gehoert-er
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
