Login Modul: if abfrage

Gesperrt
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Login Modul: if abfrage

Beitrag 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
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag 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.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

ähm - WAS willst du jetzt genau prüfen?
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag 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
}
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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!
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag 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?
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag 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 ;)
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag 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.
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag 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?
alpi
Beiträge: 117
Registriert: Fr 9. Jul 2004, 15:56
Kontaktdaten:

Beitrag von alpi »

weiß keiner ne antwort?
Gesperrt