php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-11-2007, 18:51
Paranoia
 Newbie
Links : Onlinestatus : Paranoia ist offline
Registriert seit: Jul 2003
Beiträge: 64
Paranoia ist zur Zeit noch ein unbeschriebenes Blatt
Standard Rechtevergabe bei Klassen etc.

Hallo,

meine Software ist bis jetzt durchweg objektorientiert. In meiner Rechteverwaltung gibt es nun bestimmte Module für die man freigeschaltet werden kann. Nun soll natürlich nicht bei jedem 2. Klick eine Datenbankabfrage gemacht werden ob man für das entsprechende Modul freigeschaltet ist.

Kann man das Problem eleganter lösen als Sessions zu benutzen, die einmalig gefüllt werden ($_SESSION['modulXY'] = true) und auf diese dann zuzugreifen?

Hätte gerne so eine Art "Registrierungsklasse", aber in PHP müsste ich die ja ebenfalls bei jedem 2. Klick neu instanziieren ...
Mit Zitat antworten
  #2 (permalink)  
Alt 20-11-2007, 18:52
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

was spricht gegen sessions? kannst dir ja eine session-klasse basteln.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 20-11-2007, 18:53
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

was findest du an sessions unelegant? is doch voll ok so...!

*edit: der schnelle peter...
__________________
**********
arkos
**********
Mit Zitat antworten
  #4 (permalink)  
Alt 20-11-2007, 18:55
Paranoia
 Newbie
Links : Onlinestatus : Paranoia ist offline
Registriert seit: Jul 2003
Beiträge: 64
Paranoia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sessions an sich sind ja ok, nur hab ich mich bisher um "globale Variablen" drücken können. Aber wenn ihr das für professionell haltet dann kann ich die ja ruhigen Gewissens benutzen
Mit Zitat antworten
  #5 (permalink)  
Alt 20-11-2007, 19:01
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
nur hab ich mich bisher um "globale Variablen" drücken können 
dazu sind superglobale variablen doch da, siehe $_POST.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 20-11-2007, 19:09
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Paranoia dann kann ich die ja ruhigen Gewissens benutzen [/B]
jepp, kannste...
__________________
**********
arkos
**********
Mit Zitat antworten
  #7 (permalink)  
Alt 21-11-2007, 00:22
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie Kropff schon schrieb, kannst du ja die Session-Funktionalität in eine eigene Klasse kapseln ... das ist dann "sauber" "genug"
Mit Zitat antworten
  #8 (permalink)  
Alt 21-11-2007, 09:22
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Ich lese Modulrechte (die sich relativ unterschiedlich gestalten können), bei Bedarf ein und halte sie dann in der Session vor. So wird die Datenbank beim ersten mal bemüht, dannach nicht mehr. Es sei denn, deine Sessionverwaltung ist Datenbankbasiert
Mit Zitat antworten
  #9 (permalink)  
Alt 21-11-2007, 09:24
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Das Cachen der Rechte ist natürlich nur so lange sinnvoll, wie niemand Änderungen in der Datenbank vornimmt!
Mit Zitat antworten
  #10 (permalink)  
Alt 21-11-2007, 09:33
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von PHP-Desaster
Das Cachen der Rechte ist natürlich nur so lange sinnvoll, wie niemand Änderungen in der Datenbank vornimmt!
Richtig. Allerdings ist es stark fallabhängig, wie wichtig einem die Aktualität der vorliegenden Daten (in diesem Fall Benutzerrechte) ist.

Ansonsten: Man könnte auch eine Art Dirty-Flag setzen. Sicherlich wird man bei "jedem Klick" den Benutzer auf integrität prüfen. Wenn man nun bei einer Rechteänderung dieses Dirtyflag setzt, dieses beim initalisieren der Session prüft, könnte man, gesetz dem Fall, dass sich seit dem Start der Session und dem aktuellen Zeitpunkt etwas getan hat, die Rechte sozusagen flushen.

Geändert von unset (21-11-2007 um 09:36 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 21-11-2007, 09:47
Paranoia
 Newbie
Links : Onlinestatus : Paranoia ist offline
Registriert seit: Jul 2003
Beiträge: 64
Paranoia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja gut dann mach ich das so, das mit der Aktualität der Daten ist denke ich nciht so das Problem. Kann man ja mitteilen dass die Freischaltung neuer Module erst nach einem erneuten Login vorhanden ist

Ich habe die Sessions in einer Klasse gekapselt, zumindest wenn es so gemeint ist, dass ich in einer Funktion die Sessionvariablen nach der DB-Abfrage setze und in einer anderen Funktion den Wert einer Sessionvariablen abfrage ...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:37 Uhr.