Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Login mit verschiedenen Rollen    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
Hans
Mitglied
Neuling


Dabei seit: 13.07.2021
Herkunft: keine Angabe
Posts: 1
     Login mit verschiedenen Rollen Zitat | Bearbeiten

Hallo zusammen, ich habe das Tutorial durchgearbeitet und wollte das Login Skript ein wenig erweitern, aber stehe gerade total aufm Schlauch. Wie kann ich das Login Skript mit beispielsweise der Rolle "admin" und der Rolle "user" erweitern, sodass alle Seiten für den Admin sichtbar sind und nur ein paar für den User

Bisher sieht der Code wie folgt aus

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:

  <?php

      
if(isset($_GET['login'])){
        
$benutzer $_POST['benutzer'];
        
$passwort $_POST['passwort'];
        
// $berechtigung = '';

        //Abfrage User korrekt?
        
$sqllogin "SELECT * FROM Benutzer WHERE benutzer = :benutzer";

        
$login $conn->prepare($sqllogin);
        
$login->execute(array('benutzer' => $benutzer));
        
$benutzer $login->fetch();


        if(
$benutzer !== false && password_verify($passwort$benutzer['passwort'])){
          
$_SESSION['userid'] = $benutzer['Id'];
          
// $_SESSION['role'] = $berechtigung['FK_Rechte'];

            
header('Location: index.php');
          } else {
              
$errorMessage "Benutzername oder Passwort war ungültig<br>";
          }
        }

     
?>


und der geschützte Bereich

 PHP 
1:
2:
3:
4:
//Session
      if(!isset($_SESSION['userid']['FK_Rechte'] != '1')) { //geändert für Berechtigungen
        header('Location: login.php');
      }



13.07.2021, 08:57 Profil | PM | E-Mail  
Htaccess
Mitglied
Sehr guter User


Dabei seit: 22.08.2010
Herkunft: Deutschland
Posts: 726
      Zitat | Bearbeiten

Du benötigst eine Datenbanktabelle mit den Rollen und ggf. den Rechten. Diese muss du in Verbindung mit dem Benutzer bringen und dann abfragen.

Eine schnelle Überlegung meinerseits wäre folgende Datenbankstruktur:

- Benutzer
- Rollen
- Benutzer_Rollen

In der Datenbanktabelle Rollen trägst du alles ein, was du für deine Rollen benötigst. Die Tabelle Benutzer_Rollen dient als Verbindungtabelle zwischen Benutzer und Rollen, wo jeweils nur die Primärschlüssel des Benutzers, sowie der Primärschlüssel der Rollen eingetragen wird. Beispiel

Benutzer_id | Rollen_id
1 | 2
1 | 1
2 | 1

Und so weiter ...

Dafür solltest du dir dann SQL JOIN angucken. Wenn du weitere Hilfe benötigst, kannst du diese gerne hier im Forum stellen




Post wurde schon 1x editiert, das letzte mal am 16.07.2021 um 11:08 von Htaccess
16.07.2021, 11:07 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Login mit verschiedenen Rollen   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz