Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP Usermanagement - Wie löse ich wie welcher User was kann und darf ?

Mitglied: dark3zz

dark3zz (Level 1) - Jetzt verbinden

29.07.2010, aktualisiert 16:39 Uhr, 5986 Aufrufe, 5 Kommentare

Ich schreibe gerade ein Usermanagement im einfachen Stil. Folgende User sind geplant:

- MAINADMIN (Rechtestufe1) Hardcore, es kann nur einen geben
- ADMIN (Rechtestufe2)
- USER1 (Rechtestufe3)
- USER2 (Rechtestufe3)

MAINADMIN (erstellt den admin und GIBTS NUR 1x!! Admins wirds unzählige geben.)
ADMIN (kann 2 User erstellen)
USER1 | USER2 (Können nur Ihre Daten ändern)


Es wird viele ADMIN's geben. Jeder ADMIN kann 2 USER erstellen.


Es gibt immer 1 ADMIN und 2 USER = 1 PACKET das ich ja irgendwo abfragen muss wer wozu passt. Anhand eines Eintrages in der mySQL ? ZTahlencode z.b. 5436 = Admin 5436 und User1 5436 und User2 5436........


Jeder ADMIN hat quasi ne eigene Seite in der er 2 USER erstellen kann. Die 2 USER haben auch eine eigene Seite wo Sie Ihre Daten anpassen können.


Die Seiten werden dann auch per Session Authentizierung abgesichert. Da löse ich es so: Wenn in der DB bei dem USER nicht diese Zahl steht = zurück zum INDEX.


Wie löst man nun das ganze Usermanagement ? Sollte ziemlich einfach sein, da ich noch "lernender" bin ''

- Rechte abfragen per mySQL ? z.b. anhand eines Zahlencodes in der Spalte xy=Aah, das ist der und der, der passt zu dem und dem....
- Per Session ? Aber woher kommt die Information wer zu welchem passt ?


Bitte um Tipps wie man sowas handhaben kann.
Mitglied: masterG
29.07.2010 um 15:33 Uhr
accesslevel.
Kleines bespiel:
01.
<?php 
02.
if($user['accesslevel'] == 1337 || $user['accesslevel'] == 23781) { 
03.
echo "Zugang zum Adminpanel"
04.
05.
else
06.
echo "du hast keinen zugang zum adminpanel"
07.
08.
?>
Gruß
masterG
Bitte warten ..
Mitglied: dark3zz
29.07.2010 um 15:55 Uhr
hoi masterG. Danke für den Tipp. Habe fast dasselbe. Das wäre z.b. das auth.php file das ich include.

01.
  
02.
 
03.
<?php 
04.
      session_start(); 
05.
 
06.
      if (!isset($_SESSION['admin']) || !$_SESSION['admin']) { 
07.
      header('Location: ../index.php'); 
08.
      exit
09.
10.
?> 
11.
 
im index.php wo man sich anmeldet habe ich diese abfrage die mir die sessions erstellt. admin oder user.
nur eben: es gibt ja diverse admins und user..... da bin ich noch irgendwie aufm holzweg.....

01.
if ($username==$dbusername&&$password==$dbpassword&&$rights=='admin') { 
02.
                  $_SESSION['admin'] = true; 
03.
                header('Location: admin/admin.php'); 
04.
05.
 
06.
 
07.
            if ($username==$dbusername&&$password==$dbpassword&&$rights=='user') { 
08.
                  $_SESSION['user'] = true; 
09.
                header('Location: user/user.php'); 
10.
            }
Bitte warten ..
Mitglied: masterG
29.07.2010 um 16:43 Uhr
Zitat von dark3zz:
01.
  
02.
>  
03.
> <?php 
04.
>       session_start(); 
05.
>  
06.
>       if (!isset($_SESSION['admin']) || !$_SESSION['admin']) { 
07.
>       header('Location: ../index.php'); 
08.
>       exit
09.
>       } 
10.
> ?> 
11.
>  
12.
> 

also die abfrage ist unnötig.


Reicht wenn du folgendes machst:
01.
if(!$_SESSION['admin']) { 
02.
header('Location:....');
Weiters reicht es wenn du einen generellen login machst und die sessionvariable:
$_SESSION['access'] assigns und dort entweder admin oder user.

01.
if($dbusername == $username && $passwort == $dbpasswort) { 
02.
$_SESSION['access'] == $rights
03.
}
Gruß
masterG
Bitte warten ..
Mitglied: dog
30.07.2010 um 02:58 Uhr
Ich habe mal für AD-Integration das ACL-System nach MySQL/PHP übernommen.
Im ersten Anlauf brauchte ich > 800 SQL-Queries um die Gruppen und Berechtigungen richtig aufzulösen (das hat sich natürlich auf 1-2 reduziert)

Reicht wenn du folgendes machst:
if(!$_SESSION['admin']) {

Nein, tut es nicht (nur wenn man im Blinden-Modus programmiert).
01.
<?php 
02.
 
03.
	session_start(); 
04.
 
05.
	error_reporting(E_ALL|E_STRICT); 
06.
	ini_set('display_errors','On'); 
07.
	 
08.
	if(!$_SESSION['keks']) { } 
09.
 
10.
?>
01.
PHP Notice:  Undefined index: keks in /private/var/folders/4t/4t2eiwmMH8OoTNk4oJzEDk+++TI/-Tmp-/untitled_y07..php on line 8
Ausreichend wäre:
01.
 if(!@$_SESSION['keks']) {
Oder dark3zzs ursprüngliche Lösung.

Was meinst du eigentlich mit "Wer zu welchem passt"?

Rechte-Storage kann man übrigens auch mit Integern machen:
01.
<?php 
02.
 
03.
	define('PERM_LOGIN', 1);              //Binär: 00000001 
04.
	define('PERM_USER', PERM_LOGIN<<1);   //Binär: 00000010 
05.
	define('PERM_ROOT', PERM_USER<<1);    //Binär: 00000100 
06.
	define('PERM_CREATE', PERM_ROOT<<1);  //Binär: 00001000 
07.
	 
08.
	 
09.
	//jetzt erstellen wir einen Benutzer mit Login, Create und Root-Rechten 
10.
	$myPerm = PERM_LOGIN|PERM_ROOT|PERM_CREATE;//Binär: 00001101 
11.
 
12.
	//prüfen, ob ein Benutzer Login-Rechte hat	 
13.
	if(($myPerm|PERM_LOGIN) != $myPerm
14.
		die("Sie haben keine Login-Berechtigung!"); 
15.
		 
16.
	//root recht wegnehmen 
17.
	$myPerm = $myPerm^PERM_ROOT;           //Binär: 00001001 
18.
	//user recht hinzufügen 
19.
	$myPerm |= PERM_USER; 
20.
	 
21.
?>
Bitte warten ..
Mitglied: dark3zz
14.06.2012, aktualisiert um 18:59 Uhr
hat sich in der zwischenzeit erledigt, bin auch mit php gewachsen

trage am anfang nun noch einen text in die session. anhand dieses textes, kann ich diverse user zueinander ordnen, vurausgesetzt, die haben den gleichen text

den text in der session kann man auch nicht erraten.......anzeigen der eigenen schon, klaro

eigentlich eazy, man lernt nie aus.
Bitte warten ..
Ähnliche Inhalte
Administrator.de Feedback

Verbindung zu anderem user wieder lösen mit smartphone

Frage von LochkartenstanzerAdministrator.de Feedback1 Kommentar

Moin, Hallo Frank, Ich habe nur ein "kleines" smartphone (4") und habe heute festgestellt, daß es schwirig ist, eine ...

Windows 7

Programme die ein User starten darf festlegen

gelöst Frage von Roadrunner0815Windows 76 Kommentare

Hallo an alle! Ich bin auf der Suche nach einem Tool oder ähnlichem, was folgende Einstellungen erlaubt: Der User ...

Windows Server

Freigabe: Nur ein User darf auf den Ordner zugreifen...

Frage von FA-jkaWindows Server7 Kommentare

dieser meldet sich allerdings mit einem gemeinschaftlich genutzten Konto im ActiveDirectory an (=gewachsene, nicht veränderbare Firmenpolitik - bitte nicht ...

Linux Netzwerk

Vsftpd User darf nicht aus sein HOME Verzeichniss raus

gelöst Frage von danijelLinux Netzwerk12 Kommentare

Hallo Freunde, vielleicht kann mir einer hier helfen. Ich habe vsftpd unter openSuse 12.3 laufen. Der FTP Dienst läuft ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 19 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 22 StundenAdministrator.de Feedback16 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...