Ich beziehe mich auf einen Online-Artikel:
Ereignisgesteuerte Programmierung in PHP || IT-Republik - PHP - Artikel
Es geht im Artikel um PHP, meine Frage ist aber Programmiersprachenunabhängig.
Im Artikel wird vorgeschlagen, einen Login erweiterbar zu programmieren in Form eines Vermittler-Entwurfsmusters.
Dabei löst die Login-Komponente ein Ereignis aus, wleches über den Vermittler an andere Komponenten weiter geleitet wird:
In der Abbildung sind mehrere Komponenten zu sehen.
Die eine Komponente schreibt Logfiles. Sie soll mitloggen, wenn ein erfolgreicher oder auch wenn ein abgewiesener Login durchgeführt wurde.
Eine andere Komponente kontrolliert die IP-Adresse des Benutzers und sperrt ggf. den Zugriff. (Verbietet den Login)
Jetzt zu meiner Frage:
Wie kann ich mit der Lösung sicherstellen, dass die Loginkomponente auch den tatsächlichen Status mitloggt?
Es kann ja sein, dass der Vermittler zuerst die logfileschreibende Komponente aufruft und danach die IP-Überprüfende, die den Login zurücksetzt.
Dann würde im Logfile ein Erfolg geloggt werden, obwohl dies nicht der Fall ist.
lg Stephan
Ereignisgesteuerte Programmierung in PHP || IT-Republik - PHP - Artikel
Es geht im Artikel um PHP, meine Frage ist aber Programmiersprachenunabhängig.
Im Artikel wird vorgeschlagen, einen Login erweiterbar zu programmieren in Form eines Vermittler-Entwurfsmusters.
Dabei löst die Login-Komponente ein Ereignis aus, wleches über den Vermittler an andere Komponenten weiter geleitet wird:
In der Abbildung sind mehrere Komponenten zu sehen.
Die eine Komponente schreibt Logfiles. Sie soll mitloggen, wenn ein erfolgreicher oder auch wenn ein abgewiesener Login durchgeführt wurde.
Eine andere Komponente kontrolliert die IP-Adresse des Benutzers und sperrt ggf. den Zugriff. (Verbietet den Login)
Jetzt zu meiner Frage:
Wie kann ich mit der Lösung sicherstellen, dass die Loginkomponente auch den tatsächlichen Status mitloggt?
Es kann ja sein, dass der Vermittler zuerst die logfileschreibende Komponente aufruft und danach die IP-Überprüfende, die den Login zurücksetzt.
Dann würde im Logfile ein Erfolg geloggt werden, obwohl dies nicht der Fall ist.
lg Stephan