$auth Objekt
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
$auth Objekt
Hi!
Ich möchte wegen dem Problem mit den geschützen Bereichen ein Modul schreiben, das "manuell" checkt, ob ein User das nötige Recht für die aktuelle Seite hat oder nicht!
Jetzt wollte ich erstmal prüfen, ob überhaupt ein User eingeloggt ist oder nicht! Wenn ich dazu aber das "nobody" Attribut des $auth Objekts benutze ist es nicht immer eindeutig!
Ich dachte, wenn es true ist, ist keiner eingeloggt und bei false schon! Aber wenn ich mich auf einer anderen Seite einlogge und dann auf die geschütze gehe (auf der ich dass dan abfrage) bin ich angeblich nicht eingeloggt. Wenn ich mich allerdings direkt auf der geschützen Seite einlogge gehts!
Wozu ist dieses Attribut denn genau?
Bzw. ist der uname im $auth Objekt beim Wert "nobody" so eindeutig, dass man ganz sicher davon ausgehen kann, das niemand (z.B. mit dem Usernamen "nobody") eingeloggt ist?
Ich möchte wegen dem Problem mit den geschützen Bereichen ein Modul schreiben, das "manuell" checkt, ob ein User das nötige Recht für die aktuelle Seite hat oder nicht!
Jetzt wollte ich erstmal prüfen, ob überhaupt ein User eingeloggt ist oder nicht! Wenn ich dazu aber das "nobody" Attribut des $auth Objekts benutze ist es nicht immer eindeutig!
Ich dachte, wenn es true ist, ist keiner eingeloggt und bei false schon! Aber wenn ich mich auf einer anderen Seite einlogge und dann auf die geschütze gehe (auf der ich dass dan abfrage) bin ich angeblich nicht eingeloggt. Wenn ich mich allerdings direkt auf der geschützen Seite einlogge gehts!
Wozu ist dieses Attribut denn genau?
Bzw. ist der uname im $auth Objekt beim Wert "nobody" so eindeutig, dass man ganz sicher davon ausgehen kann, das niemand (z.B. mit dem Usernamen "nobody") eingeloggt ist?
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
Richtig!
Dafür ist MD5 ja entwickelt!
Durch die einfache Codierung und nahe zu unmöglicher Decodierung ist es als Speicherformat für Passwörter perfekt geeignet! Mit dem "Nach"teil (was ja aber eigentlich der Vorteil ist), dass man es nicht wieder in Klartext auslesen kann!
Aber um ein Passwort auf Richtigkeit zu checken braucht man das ja auch nicht! Einfach das eingegebene wieder codieren und mit dem hinterlegten vergleichen!
Black Widow
Dafür ist MD5 ja entwickelt!
Durch die einfache Codierung und nahe zu unmöglicher Decodierung ist es als Speicherformat für Passwörter perfekt geeignet! Mit dem "Nach"teil (was ja aber eigentlich der Vorteil ist), dass man es nicht wieder in Klartext auslesen kann!
Aber um ein Passwort auf Richtigkeit zu checken braucht man das ja auch nicht! Einfach das eingegebene wieder codieren und mit dem hinterlegten vergleichen!
Black Widow
hi,
wie sieht es jetzt z.B. mit der Gruppe aus??
Oder anders gefragt: Wie kann ich eine Abfrage machen
if ($usergruppe =="Redaktion") {
echo "Hier bekommst du einen Link nur für Redakteure";
}
Ist sowas über $auth möglich??? Oder muss ich eine SQL-Abfrage starten?? Wenn ja: Kann mir jemand die Abfrage posten??
thx!!!
JoJo
wie sieht es jetzt z.B. mit der Gruppe aus??
Oder anders gefragt: Wie kann ich eine Abfrage machen
if ($usergruppe =="Redaktion") {
echo "Hier bekommst du einen Link nur für Redakteure";
}
Ist sowas über $auth möglich??? Oder muss ich eine SQL-Abfrage starten?? Wenn ja: Kann mir jemand die Abfrage posten??
thx!!!
JoJo
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
Hi JoJo!
Probier mal folgende SQL-Abfrage:
Du musst GRUPPENNAME durch Deine entsprechende Gruppe ersetzen, aber das grp_ muss in jedem Fall davor stehenbleiben. Also bei dem Gruppennamen Redakteure wäre es z.B. grp_Redakteure...
Sobald es ein Ergebnis gibt (das wäre dann die idgroupuser, die ist aber nicht von Bedeutung), ist der user Mitglied dieser Gruppe. Gibt es kein Ergebnis, dann halt nicht ...
Gruß,
Black Widow
Probier mal folgende SQL-Abfrage:
Code: Alles auswählen
$sql_checkGroupMember = "SELECT idgroupuser
FROM ".$cfg["tab"]["groupmembers"]."
WHERE user_id = '".$auth->auth["uid"]."' AND
group_id = '".md5('grp_GRUPPENNAME')."';";
Sobald es ein Ergebnis gibt (das wäre dann die idgroupuser, die ist aber nicht von Bedeutung), ist der user Mitglied dieser Gruppe. Gibt es kein Ergebnis, dann halt nicht ...

Gruß,
Black Widow
hi,
du hast den mysql_query() vergessen:
Dennoch funktioniert es nicht.
Wenn ich $sql_checkGroupMember ausgebe, bekomme ich nur " Resource id #108", egal ob jemand eingeloggt ist oder nicht.
Damit kann ich wohl nix anfangen...
Noch jemand ne Idee???
du hast den mysql_query() vergessen:
Code: Alles auswählen
$sql_checkGroupMember = mysql_query("SELECT idgroupuser
FROM ".$cfg["tab"]["groupmembers"]."
WHERE user_id = '".$auth->auth["uid"]."' AND
group_id = '".md5('grp_Redaktion')."';");
Wenn ich $sql_checkGroupMember ausgebe, bekomme ich nur " Resource id #108", egal ob jemand eingeloggt ist oder nicht.
Damit kann ich wohl nix anfangen...
Noch jemand ne Idee???
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten:
Hä??
Also irgendwie hatte ich mir das auch anders gedacht ...
Versuchs mal so:
Damit klappt es auf jeden Fall (falls ich jetzt keinen Syntaxerror übersehen hab)!
Gruß,
Black Widow
Also irgendwie hatte ich mir das auch anders gedacht ...
Versuchs mal so:
Code: Alles auswählen
$db_Connect = new DB_Contenido;
$sql_checkGroupMember = "SELECT idgroupuser
FROM ".$cfg["tab"]["groupmembers"]."
WHERE user_id = '".$auth->auth["uid"]."' AND
group_id = '".md5('grp_GRUPPENNAME')."';";
$db_Connect->query($sql_checkGroupMember);
if ($db_Connect->next_record())
{
//User ist Mitglied der Gruppe! Mache irgendwas ...
}
Gruß,
Black Widow
hi,
uiiiiiii.....
ich hab ja gestern so dermaßen aufm Schlauch gestanden...
Naja gut. Danke für die Lösung. Darauf wäre ich zwar auch nit gekommen, aber was ich von mir gegeben habe, war ja schon peinlich..
Ich glaube, ich muss mich mal bisschen ins objektorientierte Programmieren einarbeiten. Ohne das geht ja bei Contenido nit viel, wie es aussieht...
bye & thx!
hyperjojo
uiiiiiii.....
ich hab ja gestern so dermaßen aufm Schlauch gestanden...

Naja gut. Danke für die Lösung. Darauf wäre ich zwar auch nit gekommen, aber was ich von mir gegeben habe, war ja schon peinlich..

Ich glaube, ich muss mich mal bisschen ins objektorientierte Programmieren einarbeiten. Ohne das geht ja bei Contenido nit viel, wie es aussieht...
bye & thx!
hyperjojo
-
- Beiträge: 174
- Registriert: Mi 22. Okt 2003, 11:08
- Kontaktdaten: