Seite 1 von 1

Login Modul: if abfrage

Verfasst: Mo 12. Jul 2004, 16:18
von alpi
Hi,

Hab da ma nur ne ganz kleine Frage:

Prüft folgende if-Bedingung, ob der sysadmin oder admin eingeloggt ist?

Code: Alles auswählen

if ($auth->auth["uname"] == "sysadmin" OR $auth->auth["uname"] == "admin")
{
......
}
Also der soll nur in dem Login Modul im Frontend eingeloggt sein, aber nicht im Backend.

Vielen Dank im Vorraus

Verfasst: Mo 12. Jul 2004, 16:28
von timo
deine Abfrage prüft lediglich, ob der Benutzer den Benutzernamen "sysadmin" oder "admin" verwendet, nicht, ob der Benutzer auch wirklich die Rechte hat. in PHP heisst es übrigens ||, nicht OR.

siehe auch http://www.php.net

Verfasst: Mo 12. Jul 2004, 17:02
von alpi
ups....bei mir funzt OR aber auch.

na ja, das is ja egal.
Wie prüfe ich das denn? Also ob derjenige eingeloggt is, ohne dass ich irgendwelhe classen oder includes dabeoi machen muss. Obwohl......., wäre eigentlich egal, wenn man da was includen muss, welche wäre das dann?
Aber wenn eine bestimmte If-Bedingung reicht, würde ich die nehmen.

Verfasst: Mo 12. Jul 2004, 17:39
von timo
ähm - WAS willst du jetzt genau prüfen?

Verfasst: Mo 12. Jul 2004, 17:50
von alpi
ich will einfach prüfen, ob sysadmin oder admin oder sonst wer eingeloggt is.
und dann quasi in das if die Adminfläche dafür reinschreiben.

Zum Beispiel:

Code: Alles auswählen

if (sysadmin ==eingeloggt)
{
Hier kommt die Adminfläche
}
else
{
Hier kommt das normale rein
}

Verfasst: Mo 12. Jul 2004, 21:08
von timo
alpi hat geschrieben:ich will einfach prüfen, ob sysadmin oder admin oder sonst wer eingeloggt is.
und dann quasi in das if die Adminfläche dafür reinschreiben.
Willst du auf den Benutzernamen (öhm warum?) oder auf die Rechte (AHA!) prüfen? Wenn Rechte, dann solltest du dir mal die Klasse $perm sowie die Rechtevergabe genauer ansehen!

Verfasst: Di 13. Jul 2004, 13:21
von alpi
ich weiß nicht........

ich will einfach nur, dass bei dem der Adminrechte hat, die Adminfläche angezeigt wird und bei dem, der keine Admin Rechte hat, nur das normale angezeigt wird.

Es muss nicht unbedingt da sysadmin oder so in der if-bedingung stehen.
Mir is egal, wie man es am besten macht, hauptsache das geht überhaupt.
Ich gucke mir dann jetzt ma $perm an.....
Habs mir ein wenig angeguckt und habe dies gefunden:

Code: Alles auswählen

if(!$perm->have_perm_area_action($area,$action))
{
  $notification->displayNotification("error", i18n("Permission denied"));
} else {
.......
          }
Was muss da denn in $area und $action rein?
Falls das falsch ist, kannst du mir kurz die if-abfrage schreiben?

Verfasst: Di 13. Jul 2004, 14:38
von timo
alpi hat geschrieben:ich will einfach nur, dass bei dem der Adminrechte hat, die Adminfläche angezeigt wird und bei dem, der keine Admin Rechte hat, nur das normale angezeigt wird.
Was ist die Adminoberfläche? Was ist "das normale"?

Du mußt dich schon ein wenig präziser ausdrücken ;)

Verfasst: Di 13. Jul 2004, 14:47
von alpi
das is ja eigentlich egal was das is, dass kann ich selber da reinschreiben.

Also ich wollte da zb. einmal bein normalen reinmachen, was dann für den Gast oder "normalen User" angezeigt wird. Z.B. habe ich eine Torjägerliste.
Und in den Admin bereich würde dann Z.B. Die Adminfläche von der Torjägerliste kommen. Also kann man da dann neue Torjäger hinzufügen/löschen/ändern oder änliches.

Code: Alles auswählen

if (wenn sysadmin eingeloggt is)
{
....dann zeige die Torjägerliste-Adminfläche an, wo man eben wie oben beschrieben Torjäger hinzufügen/löschen/ändern oder änliches kann
}
else
{
......wenn nicht, dann soll er hier nur die normale Torjägerliste anzeigen.
}
Ich hoffe das war jetzt endlich verständlich.

Verfasst: Di 13. Jul 2004, 20:34
von alpi
ich habe ma was ausprobiert:

Code: Alles auswählen

if($perm->have_perm_area_action($area, $action))    //<-- es geht mir nur um diese Zeile, was da rein muss
{
echo "Admin eingeloggt";
}
Das funzt, wenn der sysadmin eingeloggt is. Aber wie mache ich das jetzt, dass da auch die Gruppe "Moderator" Rechte hat?
Also nicht das ihr mich falsch versteht. Der Gruppe "Moderator" habe ich schon die entsprechenden Rechte gegeben und den USERn davon auch, ich will jetzt nur, dass, wenn die sich einloggen, dass dann die obige Bedingung erfüllt wird.

In welcher Datei finde ich eigentlich dieses "have_perm_area_action"?
Weil das muss ja irgendwo definiert sein, oder nicht?

Verfasst: Mi 14. Jul 2004, 18:23
von alpi
weiß keiner ne antwort?