php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.09.2009, 08:03  
Kein Genie
Gast
 
Beiträge: n/a
Standard Umsetzung einer Rechte Klasse

Moin Moin,

für meine Community möchte ich gerne eine Rechte Klasse programmieren. So kann ich mir eine Menge Arbeit sparen und auch ist es leichter anzupassen. Ich habe dazu einige Fragen, ich habe mir überlegt wie ich sie umsetzten will. Jetzt würde ich gerne wissen ob das auch so möglich ist, oder ob ich da ein bisschen zu hoch fliege .

Also mein Anfang (ist nicht wirklich viel) sieht so aus:

PHP-Code:
<?php
    
class role {
        
        var 
role = array(
                        
"board_read",
                        
"board_write",
                        
"board_delet_post",
                        
"board_delet_topic",
                        
"board_poll",
                        
"board_search",
                        
"download_vidoes",
                        
"download_material",
                        
"admin_menu",
                        
"moderate_board_one",
                        
"moderate_board_all",
                        
"delet_user",
                        
"activate_user",
                        
"create_topics",
                        
"create_polls",
                        
"admin_create_forum",
                        
"admin_create_cat",
                        
"admin_edit_forum",
                        
"admin_edit_cat",
                        
"admin_delet_forum",
                        
"admin_delet_cat");
        
    }
?>
In der Variable role sollen alle Aktivitäten drinne stehen, wozu man bestimme Rechte braucht.
Sie werden einfach ganz klar durch 0 und 1 geregelt, wo 1 für ja und 0 für nein steht.

Es gibt die Rollen: Besucher, User, Moderator, Supermoderator, Admin

Die Rollen sind in Zahlen unterteile:

Admin => 1
Supermod => 2
Moder => 3
User => 4

Besucher => 0

Jetzt zur Klasse zurück. Die jeweiligen Einstellungen für eine Rolle, werden aus der DB gelesen und dann auch ins Array geschrieben.
Dann soll es verschiedene Funktionen geben:
  • check_active_role => Soll prüfen welche Rolle der User gerade hat
  • creat_role_profile => Liest die Daten aus der DB und schreibt es ins Array

Dann soll es für jede Aktivität im Forum eine eigene Funktion geben, die ich aufrufen kann an der jeweiligen Stelle und so prüfen kann, ob er die Rechte hat:

Code:
Besucher will Beitrag schreiben
            =>
   $write_post_role = new role($_SESSION['role']);
   $write_post_role->wrote_post();
So, ist sowas umsetzbar oder doch einfach zu hoch gegriffen?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.09.2009, 09:53  
Erfahrener Benutzer
 
Registriert seit: 25.01.2009
Beiträge: 1.027
PHP-Kenntnisse:
Fortgeschritten
Capfly befindet sich auf einem aufstrebenden Ast
Capfly eine Nachricht über ICQ schicken Capfly eine Nachricht über MSN schicken
Standard

Wenn dus kannst xD

Also: Am besten mal mit Datenbank und Rechte auslesen, dann entsprechend in Session Variable speichern.
I-wo speicherst du noch, was für Rechte der Admin zum Beispiel hat:
In diesem fall alle -> Du liest die entsprechenden Arrays aus und speicherst auch diese in Session Variablen

und zu deinem Code: Bitte schließe doch auch die class:

PHP-Code:
<?php
    
class role {
        
        var 
role = array(
                        
"board_read",
                        
"board_write",
                        
"board_delet_post",
                        
"board_delet_topic",
                        
"board_poll",
                        
"board_search",
                        
"download_vidoes",
                        
"download_material",
                        
"admin_menu",
                        
"moderate_board_one",
                        
"moderate_board_all",
                        
"delet_user",
                        
"activate_user",
                        
"create_topics",
                        
"create_polls",
                        
"admin_create_forum",
                        
"admin_create_cat",
                        
"admin_edit_forum",
                        
"admin_edit_cat",
                        
"admin_delet_forum",
                        
"admin_delet_cat");
        }
    }
?>
__________________
MfG
~Capfly
Jetzt NEU! Cpix & Wbits Katahlan.de - Das Browsergame

Geändert von Capfly (19.09.2009 um 10:03 Uhr).
Capfly ist offline  
Alt 19.09.2009, 10:02  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Zitat:
So, ist sowas umsetzbar oder doch einfach zu hoch gegriffen?
Was du als Role definierst im dem Array sind eigentlich die Previlegien. Mit der Acl bist du schon auf den Richtigen weg.

Nun stellt sich auch die frage wie genau du die Rechte einstellen willst. Soll es lese/schreib Rechte geben oder die einfachere Variante mit Zugriff ja oder nein.

Wenn du mit Klassen arbeiten möchtes dann würd ich die Privilegien in ein Objekt ablegen.

PHP-Code:
<?
# Alle Rechte der Role laden 
$rolobj= new Role($rechte,$role); # Rollen erstellen
Mfg Splasch

Geändert von splasch (19.09.2009 um 10:10 Uhr).
splasch ist offline  
Alt 19.09.2009, 10:10  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von splasch Beitrag anzeigen
Was du als Role definierst im dem Array sind eigentlich die Previlegien. Mit der Acl bist du schon auf den Richtigen weg.

Nun stellt sich auch die frage wie genau du die Rechte einstellen willst. Soll es lese/Schreib rechte geben oder die einfachere Variante mit Zugriff ja oder nein.

Wenn du mit Klassen arbeiten möchtes dann würd ich die Privilegien in ein Objekt ablegen.

PHP-Code:
<?
# Alle Rechte der Role geladen 
$rolobj= new Role($rechte,$role); # Rollen erstellen
Mfg Splasch
Dachte erstmal einfach nur an ja nein.
Also darf er schreiben = ja oder nein...

Wie genau meinst du d das, mit dem Privilegien in Objekten?
Danke
 
Alt 19.09.2009, 10:17  
Erfahrener Benutzer
 
Registriert seit: 25.01.2009
Beiträge: 1.027
PHP-Kenntnisse:
Fortgeschritten
Capfly befindet sich auf einem aufstrebenden Ast
Capfly eine Nachricht über ICQ schicken Capfly eine Nachricht über MSN schicken
Standard

Nur ja und nein, das kannst du auch in der Datenbank speichern (mit Spalte "Rechte")

Einfach mit MySQL connecten (DB ist empfehlenswert) und wie folgt abfragen:
PHP-Code:
 if($string->Rechte == "Admin")
{
$_SESSION['darfschreiben'] = "ja";
$_SESSION['darflesen'] = "ja";
}
 elseif(
$string->Rechte == "User")
{
$_SESSION['darfschreiben'] = "nein";
$_SESSION['darflesen'] = "ja";
}
 elseif(
$string->Rechte == "Neuregistrierter")
{
$_SESSION['darfschreiben'] = "nein";
$_SESSION['darflesen'] = "nein";

__________________
MfG
~Capfly
Jetzt NEU! Cpix & Wbits Katahlan.de - Das Browsergame
Capfly ist offline  
Alt 19.09.2009, 10:24  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Als Privilegien bezeichnet man die Rechte die ein User auf einer Bestimmten Seite hat.
Beispiel:
Ändern von news einträgen, Erstellen von news einträgen,
löschen von news einträgen
und so weiter....

Alles was ein User auf einer bestimmten Seite machen darf sind die Privilegien.

Das bedeuted du hast 2 Grundrechte einmal ob er die Seite betreten darf und einmal was er auf der Seite machen darf.

Zitat:
Dachte erstmal einfach nur an ja nein.
Also darf er schreiben = ja oder nein.
Was nun die 2 Ausagen unten versteh ich so das du gesonderte Rechte haben willst schreib/lese/erstellung rechte. Eben Rechte mit Privilegien.

Das einfach Rechte system ist ohne Privilegien dabei wird eben dann nur der Zugang geprüft ob er auf die Seite zugreiffen darf oder nicht.

In der ersten Zeile (Dachte erstmal einfach nur an ja nein.) versteh ich das so das du nur Seiten zugriffsrechte haben willst.
In der zweiten Zeile (Also darf er schreiben = ja oder nein) versteh ich wiederum das du Privilegienrechte auch haben möchtes.

Nun bin ich verwirrt was willst du nun davon?

Mfg Splasch

Geändert von splasch (19.09.2009 um 10:31 Uhr).
splasch ist offline  
Alt 19.09.2009, 10:29  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von splasch Beitrag anzeigen
Als Privilegien bezeichnet man die Rechte die ein User auf einer Bestimmten Seite hat.
Beispiel:
Ändern von news einträgen, Erstellen von news einträgen,
löschen von news einträgen
und so weiter....

Alles was ein User auf einer bestimmten Seite machen darf sind die Privilegien.

Das bedeuted du hast 2 Grundrechte einmal ob er die Seite betretten darf und einmal was er auf der Seite machen darf.

Was nun die 2 Ausage unten versteh ich so das du gesonderte Rechte haben willst schreib/lese/erstellung rechte. Eben Rechte mit Privilegien.

Das einfach Rechte system ist ohne Provilegien dabei wird eben dann nur der Zugang geprüft ob er auf die Seite zugreiffen darf oder nicht.

In der ersten Zeile (Dachte erstmal einfach nur an ja nein.) versteh ich das so das du nur Seiten zugriffsrechte haben willst.
In der zweiten Zeile (Also darf er schreiben = ja oder nein) versteh ich wiederum das du Privilegienrechte auch haben möchtes.

Nun bin ich verwirrt was willst du nun davon beides?

Mfg Splasch
Ok, jetzt war ich selber ein wenig durcheinander.
Natürlich will ich auch Privilegien haben.

Es soll geregelt werden, welchen Inhalt der User sehen darf, wo er hin kann, ob er was lesen kann, erstellen, löschen, bearbeiten.
 
Alt 19.09.2009, 10:41  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Da hast du dir dann schon nee ganze Menge vorgenohmen was auch relative komplex zu umsetzen ist.

Am besten beginnst du damit dir ein Klassen Diagram zu erstellen damit du sieht wie die Klassen untereinander zusammen arbeiten.Wo du eben sperren einbauen mußt damit nicht versehentlich die Variablen überschrieben werden können.(interface, abstract , private ,protected, public, singlton und so weiter..)

Mfg Splasch
splasch ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Klasse für Objekteigenschaft erzeugen? Asipak PHP-Fortgeschrittene 25 30.05.2009 19:45
[Erledigt] Eine klasse einbinden newWorldOrder PHP Tipps 2009 2 23.02.2009 19:32
Methode einer anderen Klasse aufrufen Luka PHP-Fortgeschrittene 15 09.11.2008 14:19
Klasse aus externer Klasse aufrufen kostja PHP Tipps 2008 8 07.08.2008 14:13
[Erledigt] ordner rechte setzen sich automatisch zurück wiegia086 PHP-Fortgeschrittene 1 05.04.2008 13:55
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
Klasenname einer nicht instanziierten Klasse DerDesian PHP Tipps 2007 9 30.11.2005 13:13
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
Rückgabewert auf einer Klasse anders als in der Klasse micbur PHP Tipps 2005-2 6 10.06.2005 15:06
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Klasse holt sich die Klasse PHP-Fortgeschrittene 9 07.10.2004 11:53
Klassenobjet in anderer Klasse benutzen inu PHP Tipps 2004 6 19.09.2004 10:58
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php rechte klasse, php klasse für rechteverwaltung, db user rechteklasse, rechtesystem php, zugriffsrechte klassen php, wie zugriffsrechte am besten in datenbank speichern, community rechtesystem in php, php rollen rechtesystem umsetzen, php rechtesystem object, php klasse rechtesystem, rechtesystem mit rollen php klasse, php rechtesystem mit klassen, php klassen zugriffsrechte, php klasse rechte, klasse php rechte, zugriffsrecht mit klassen php, rechte class php, php rechteklasse, bei role was ist wichtig umsetzung

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum