php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2010, 11:27  
Neuer Benutzer
 
Registriert seit: 03.11.2010
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
Kasi befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] LogIn bei MVC

Erstmals begrüße ich alle hier im Forum .

Ich habe gleich eine Problemstellung anzusprechen. Ich bin gerade bei der Umsetzung eines kleinen MVC-Frameworks. Ich arbeite das erste mal mit dem MVC-Konzept..

Also es gibt eine Benutzer-, sowie Administratorebene. Darum gibt es logischerweise Benutzer und Administratoren. Mein Problem ist, wie ich hier eine LogIn-Prüfung umsetze? Ich dachte mir vielleicht als Oberklasse für alle Controller eine Klasse einzurichten, die Methoden bereitstellt, die die Sessions überprüfen!? Diese Klasse erben dann die entsprechenden Klassen, entweder auf Benutzer- oder Administratorebene und führen dementsprechend eine Prüfung durch.

Meine Frage ist nun ob dieser Lösungsansatz denkbar wäre, oder ob es noch bessere gibt?

Wäre gut, wenn mir jemand helfen könnte

Grüße,
Kasi
Kasi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.11.2010, 11:33  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich verstehe noch nicht so ganz worum es dir geht. Geht es um den Login-Vorgang als solches oder um die Prüfung welche Rechte der (irgendwann mal) eingeloggte User hat? Kannst du das mal genauer beschreiben?
cycap ist offline   Mit Zitat antworten
Alt 03.11.2010, 11:35  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Die Session-Variablen sind doch superglobal,
Du kannst in jeder Klasse prüfen ob eingeloggt oder nicht.

Oder Du prüfst nur einmal und reichst den Status "eingeloggt" als Parameter bei der Objekterstellung weiter.

Zitat:
Diese Klasse erben dann die entsprechenden Klassen,
wieso sollte eine Klasse von einer eingeloggt-prüfen-Klasse erben ?

Vererbung hat den Sinn, daß die erbende Klasse eine Untermenge der Elternklasse ist
und diese erweitert bzw. näher spezifiziert.
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Alt 03.11.2010, 11:41  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Das was der Controller macht hat nichts mit der User Authentifizierung zutun! Daher sollte das Session Objekt bzw. die Objekte die zur Authentifizierung und Autorisierung dienen getrennt vom Rest gehalten werden.

Außerdem möchtest du ja flexibel bleiben und nicht nur per Sessions, sondern auch per Cookie, HTTP AUTH oder über LDAP oder andere externe Authentifizierungsverfahren deinen Login durchführen.
Flor1an ist offline   Mit Zitat antworten
Alt 03.11.2010, 11:51  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Also ich habe auch Programme die zwingend einen Login benötigen, wo also ein "Gast" nur den Login-Screen zu sehen bekommt. Da wird vor dem Laden des Controllers geprüft ob die Person eingeloggt ist und falls nicht wird auf den Login-Controller geroutet.
cycap ist offline   Mit Zitat antworten
Alt 03.11.2010, 12:04  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Du hast aber die Loginroutine und die Session Überprüfung nicht in einer abstrakten Klasse von der alle Controller erben oder?
Flor1an ist offline   Mit Zitat antworten
Alt 03.11.2010, 12:55  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Mit dem Vererben, das ist in meinen Augen zu unflexibel. Was ist, wenn Du noch etwas bei jedem Seitenaufruf prüfen willst? Noch mal vererben? Ich habe es bei mir so gelöst, dass der Front-Controller an verschiedenen Stellen Events aufruft, an die man Callbacks anhängen kann.
xm22 ist offline   Mit Zitat antworten
Alt 03.11.2010, 13:25  
Neuer Benutzer
 
Registriert seit: 03.11.2010
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
Kasi befindet sich auf einem aufstrebenden Ast
Standard

Es geht mir nicht um Rechte. Es geht mir einfach nur um die Prüfung der Sessiongültigkeit. Einfach eine if-Anweisung .. Meine Frage ist nur, wo ich das am besten unterbringe. Wenn ich in jeder Klasse prüfen muss, ob ein User eingeloggt ist, dann ist das auch nicht zielführend.

Ich habe eine Routerklasse, die die entsprechenden Controller lädt. Vielleicht sollte ich die Prüfung hier implementieren? Wäre das sinnvoll? (Wie gesagt, ich bin noch nicht so erfahren im Entwerfen eines MVC-Musters, darum meine Frage).
Kasi ist offline   Mit Zitat antworten
Alt 03.11.2010, 13:33  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Du hast aber die Loginroutine und die Session Überprüfung nicht in einer abstrakten Klasse von der alle Controller erben oder?
Nee, ich habe eine eigenständige Klasse dafür. Diese wird bei jedem Request (noch bevor der Router seine Arbeit getan hat) geladen und macht ihre Arbeit. Der Router fragt dann nur noch ob eingeloggt oder nicht und leitet entsprechende Maßnahmen ein.
cycap ist offline   Mit Zitat antworten
Alt 03.11.2010, 13:44  
Neuer Benutzer
 
Registriert seit: 03.11.2010
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
Kasi befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
Nee, ich habe eine eigenständige Klasse dafür. Diese wird bei jedem Request (noch bevor der Router seine Arbeit getan hat) geladen und macht ihre Arbeit. Der Router fragt dann nur noch ob eingeloggt oder nicht und leitet entsprechende Maßnahmen ein.
Klingt interessant. Kannst du das bitte genauer beschreiben, wie du da vorgehst?
Kasi ist offline   Mit Zitat antworten
Antwort


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
Professioneller Login? Curcio PHP Tipps 2010 121 09.04.2010 21:06
Login script zeigt immer formular an auch wenn eingeloggt sein sollte salix PHP Tipps 2010 2 28.03.2010 22:21
login mit datenbank und sessions kael PHP Tipps 2009 4 23.11.2009 21:10
Login php&SQL KupferDieb PHP Tipps 2009 9 26.04.2009 14:44
Seite nur nach Login anzeigen??? SimStar001 PHP Tipps 2009 1 16.03.2009 19:54
[Erledigt] Login erstellen coraplanet PHP Tipps 2008 33 21.04.2008 16:49
Forum Login per curl leb0rtran PHP Tipps 2008 1 19.03.2008 12:47
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
.htaccess Login über HTML Login Felder gestalten php1 PHP-Fortgeschrittene 2 09.08.2006 13:53
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Frage zu Login Kein Genie PHP Tipps 2006 5 16.06.2006 12:34
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
Problem mit Login Script PHP Tipps 2007 4 15.11.2005 17:29
[Erledigt] Login, LogIn, Anmelden, Einloggen -> ??? Off-Topic Diskussionen 20 14.07.2005 11:01
login mit session id PHP Tipps 2005 10 26.01.2005 12:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mvc login, login mvc php, php login mvc, mvc php login, mvc login, php mvc session, mvc login php, login mvc, php mvc user login, login php mvc, php mvc navigation, mvc programm zum einloggen, php mvc login script, php mvc und session, http://www.php.de/software-design/73522-erledigt-login-bei-mvc.html, user rechte in mvc php, mvc mit login php, mvc login problem, php user session mvc, php mvc mit login

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:29 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