Rechtesystem für meine Website?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hi,

also wenn du tatsächlich eine Seite von Grund auf erstellen willst mit Nutzer basiertem Berechtigungssystem, hast du einen weiten Weg vor dir. Eventuell ist es sinnvoller auf ein CMS zurückzugreifen.

Je nach Anwendung bietet sich Drupal (sehr mächtige = hohe Einarbeitungszeit) oder Wordpress (etwas weniger mächtig = schneller Einstieg) + Members (ein Plugin).

Nun aber zur eigentlichen Frage:

um das ganze wirklich professionell und Zukunftsfähig zu gestalten benötigst du mehrere Tabellen:

  • User (sollte ja sowieso schon vorhanden sein)
  • Roles (Benutzerrollen zur Rollen basierten Rechtevergabe)
  • User-Roles (Zuordnung von Usern zu Roles)
  • Role-Permissions (Zuordnung von Roles zu einer Berechtigung)
  • (User-Permissions) (Zuordnung von Berechtigungen zu einem User)

Die Struktur solltest du einfach so aufbauen:

Nur Rechte die freigegeben sein sollen werden in der Datenbank gespeichert, solltest du eine neue Berechtigung einführen hat also zunächst keiner Zugriff darauf. Benutzerrollen sollten immer weniger oder gleich viele Berechtigungen besitzen wie ein zugeordneter User.

Mit irgendeiner festen Rechtestuktur, womöglich noch mit einer Bit-Struktur wirst Du m.E. nicht froh.

Standard für solche Zwecke ist eine Kombination aus Tabellen ähnlich wie von sawaswolf vorgeschlagen:

User

Roles

Rights

User_Roles

Roles_Rights

Wenn Du bei einer solchen Struktur Probleme mit der Funktion hast, ist es auch ganz einfach in irgendeinem Programmierforum Hilfe zu holen, jeder, der etwas Ähnliches schon mal gemacht hat, wird die Struktur verstehen.

Meiner Meinung nach wäre es nicht gerade sinnvoll, für jede Berechtigung ein Attribut in einer Datenbank zu erstellen, da es bei Änderungen zu viel Aufwand gäbe.

Programmieren wird in diesem Fall zur Fleißaufgabe. Das geht nicht anders. Woher soll der Rechner oder die Webseite sonst erfahren, wer was darf?

Wenn man sich Unix, Linux, Windows, OS X … ansieht, kann man auch dort bestimmte Zugriffsrechte auf dem Computer festlegen. Dort ist dies im Prinzip ebenso implementiert. Da konnten die Systemprogrammierer auch nicht klagen, dass dies „viel Arbeit“ ist.

Prinzipiell ist der Computer immer mehr oder weniger auf unsere Eingaben angewiesen. Also mußt du die Rechte einzelner Nutzer deiner Seite auch einzeln setzen. Der Computer kann das nicht!

Wie kann man eine ganze Datenbank nach Nach einem Wert durchsuchen?

Guten Abend alle miteinander,

ich habe folgendes Problem, und zwar habe ich eine MySQL Datenbank mit mehreren Tabellen (z.B. Tabelle "users", "Name1", "Name2"). In der "users" Tabelle ist der Benutzer gespeichert mit allen Daten + einen Code. Ein Benutzer kann sich mit dem "Code" eine Zeit aussuchen und in die anderen Tabellen eintragen also in "Name1", "Name2" usw. Damit er sehen kann, in welchen Tabellen er mit welcher Zeiten alles drinne steht, soll es ein Formular geben, indem er seinen Code eingibt und dann die Tabellen mit dem Wert Zeit angegeben werden soll. Wie kann ich das machen.

Ich hoffe, dass es irgendwie gut erklärt ist. Ich habe versucht es einfacher zu erklären als ich es wirklich habe also bitte nicht vom Sinn her wundern.

Vielen Dank erstmal für eure Hilfe im Vorraus

...zur Frage

Wie ändere ich Daten in einer Datenbank mit php?

Hallo,

Kann mir jemand sagen wie ich mit PHP Daten in einer Datenbank ändere.Die Datenbank ist bei phpmyadmin als Server benutze ich Mamp. Ich hab bis jetzt folgendes:

$Datenbank = "base";
$table = "ad";
   $connection = mysqli_connect('localhost','root','') or die("Verbindung nicht möglich");
mysqli_select_db($connection,$Datenbank) or die("Datenbank nicht vorhanden");
$result = mysqli_query($connection,"SELECT * FROM $table")or die("Keine Daten vorhanden");

und wie gehts weiter damit ich die Daten ändern kann?

! Die Neue Daten sind einmal in der Variable first und in der Varibale second gespeichert

mcchecker1000

...zur Frage

MySQL Super vs All Privileges?

Welche Unterschiede ergeben sich bei einer MYSql-Datenbank eigentlich wenn ein User ALL PRIVILEGES oder SUPER hat? Welche Berechtigung ist höher ... und welche ist die Höchste, die man haben kann?

Danke für Eure Antworten :)

...zur Frage

Netflix Daten Verschlüsselung?

Hi Leute, Ich habe mich gefragt wie das Speichern von Offline daten wiedergabe von Netflix/Amazon Prime/Google Play Music ohne das man selbst an die Video/Audio Datei dran kommt und ob man das irgendwie mit C#/C++/PHP/Java nachstellen kann. Kennt sich einer von euch damit vielleicht aus?

...zur Frage

PHP/Javascript - Frage?

Hey Leute,

ich habe eine Frage zu PHP und/oder Javascript. Und zwar möchte ich gerne ein Formular machen, wo User bestimmte Dinge einfügen können. Dabei soll aber ein Button sein der z.B. weitere Felder hinzufügt. Und das kann man beliebig oft dann Wiederholen. Ich hatte erst so eine Idee mit "onclick" Funktion, doch das hat auch nicht so funktioniert wie ich wollte.

Hier ist ein Bespiel von einem Sinusbot (TeamSpeak Musikbot) Skript:

Mit den "Add" Buttons lassen sich weitere Abschnitte hinzufügen und mit dem "X" an jeder Ecke oben links wieder entfernen.

Wäre echt nice wenn jemand weiß wie das funktioniert und mir da weiterhelfen kann.

...zur Frage

HTML + PHP - Umfrage - Ergebnisse auswerten klappt nicht?

Hey,

ich erstelle eine Umfrage Seite !nur mit php und html, die dann die Ergebnisse in Balkendiagramme auswerten soll.

Leider funktioniert sie nciht ganz. Das Ausgewählte wird nicht auf den Balkendiagrammen ausgewertet.

Vielleicht könnt ihr mir weiter helfen.

hier findet ihr mein Quell-Code: https://jsfiddle.net/15mephj5/2/

weiterführender Link (Ergebnisse) bei tätigen des Buttons: selbe Url wie oben, nur mit /3/

Lieben Gruß

...zur Frage

Was möchtest Du wissen?