 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
27.11.2003, 22:03
|
#1
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
user level
hi,
wie kann ich denn ein login system mit verschiedenen levels erstellen. also gedacht habe ich mir, dass es Administratoren (10), Moderatoren (20), User (30), Gäste (40) geben soll. in den klammern die zahlen sollen die funktionen beschreiben, also was jede einzelne gruppe darf.
nun leider weis ich gerade nicht wie und wo ich ansetzen soll und anfangen mit programmieren soll.
könnt ihr mir bitte weiterhelfen?
mfg
hallmi
|
|
|
28.11.2003, 09:28
|
#2
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
eine tabelle mit den usergruppen
eine tabelle mit den usern, wobei die id der usergruppen ein fremdschlüssel ist
keine 10,20, usw.
dann kannst du im script dafür sorgen, dass z.b. eine id etwas nicht darf und die andere schon.
schöner:
noch eine tabelle für die seiten
eine tabelle, wo du die seiten speicherst, die eine gruppe sehen darf.
hoffe das war anregung genug 
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
28.11.2003, 14:23
|
#3
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
und wie könnte ich das dann in ph umsetzen, das die eine id was darf und die andere nicht??
etwa mit
PHP-Code:
//db auslesen
if ($id=='1') {
//Administratoren
elseif ($id=='2') {
//Moderatoren
}else {
echo "Du hast keine Zugriffsrechte";
}
und noch was...wie kann man denn zb. der einen gruppe zb. admins alles erlauben also accounts ändern usw. und einer anderen gruppe dies verbieten. ich könnte ja für alles eine extra seite machen, das will ich aber nicht, weil ich dann "zich-tausend" php seiten erstellen muss. irgendwie muss es ja auch kürzer gehen also auf weniger dateien beschränkt.
kann mir jemand weiterhelfen??
mfg
hallmi
|
|
|
28.11.2003, 14:52
|
#4
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Kaiserslautern
|
Eine Möglichkeit wäre zum Beispiel, dass du mit Bedingungen vorher, wie du schon gezeigt hast, fragst welche Berechtigungen die einzelnen Gruppen haben und setzt dann bestimmte Rechte.
if ($user['level'] == 1) {
$user['edit'] = true;
$user['delete'] = true;
$user['write'] = true;
$user['read'] = true;
} else {
$user['edit'] = false;
$user['delete'] = false;
$user['write'] = true;
$user['read'] = true;
}
Später wenn du dann an entsprechenden stellen Buttons auf der Homepages hast, kannst du dann abfragen ob der Edit-Button zum Beispiel angezeigt werden soll. Gibt sicher bessere Möglichkeiten, aber als Anregung sollte das genügen. 
|
|
|
28.11.2003, 15:36
|
#5
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
könnt ihr mir bitte auch noch eine anregung geben wie ich dann die zugriffsrechte umsetzen kann, also editieren, löschen usw. wie ich das halt praktisch umsetzen kann, damit diese dann auch funktionieren.
PHP-Code:
<?
include ("config.php");
$sql ="SELECT * FROM tbl_user where username=$username";
$res = mysql_query($sql, $db);
while ($row = mysql_fetch_array($res)) {
if ($row[gruppe] == 1) {
$user['edit'] = true;
$user['delete'] = true;
$user['write'] = true;
$user['read'] = true;
}
else {
$user['edit'] = false;
$user['delete'] = false;
$user['write'] = true;
$user['read'] = true;
}
}
?>
kann man das mit funktionen machen oder so??
wenn sie jetzt ein benutzer aus der user-gruppe anmeldet, wie wird dann eigentlich festgestellt, welcher gruppe er angehört, irgendwie muss das ja alles immer wenn geklickt oder etwas angezeigt wird, überprüft werden, welcher gruppe er angehört und welche rechte er nun letzten endes hat.
wie kann ich das denn umsetzen?
|
|
|
28.11.2003, 17:42
|
#6
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Kaiserslautern
|
Du baust dir einfach entsprechende Funktionen, die die bereits gesetzen Rechte nochmals überprüfen. Beispielsweise:
function deletePost($postID) {
global $user;
if ($user['delete']) {
// Den Eintrag löschen
} else {
// Sie haben nicht die Berechtigung den Eintrag zu lösche, blabla
}
}
Am besten wäre natürlich das in ner Klasse zu machen. Aber kannst dir das auch so auf deine Bedürfnisse anpassen. Das Problem dürfte eigentlich nicht so schwierig zu lösen sein. 
|
|
|
28.11.2003, 22:50
|
#7
|
|
TP-Insider
Registriert seit: Jun 2001
Ort: Berlin
|
Arbeitest Du mit sessions?
Wenn sich ein user/Admin/.. einloggt, setzt doch eine session mit einer session variablen, die die Berechtigung enthält.
Ich habe mal bei einem projekt 3 verschiedene Berechtigung gehabt.
1. Nicht eingeloggt
2. NormalUser
3. AdminUser
mit den Levels
3
33
333
So kannst du einfach verschieden Bediengungen formulieren.
Wenn nur der AdminUser was sehen soll muss
"$berechtigung > 300" sein.
Für Admin und Normaluser "$berechtigung > 30".
Oder anders rum Seiten mit "$berechtigung < 30" sprerren usw.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:17 Uhr.
|
 |