Ankündigung

Einklappen
Keine Ankündigung bisher.

User Management wie aufgbauen ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • User Management wie aufgbauen ?

    Ich würde gerne für meine Webanwendung die Möglichkeit haben die angemeldeten Benutzer zu überwachen.

    Grundsätzlich sind mir zwei Möglichkeiten bekannt, das eine ist, jeder Benutzer speichert beim Seitenaufruf in einer Sql Tabelle seinen Online Status, die andere Möglichkeit wäre den Session Ordner auszulesen und die nötigen Informationen bei jedem Benutzer in seiner Session zu speichern.

    Wo sind die Vorteile und wie realisiert man sowas am besten? Im weiteren hätte ich gerne die Möglichkeit den Benutzern via jqueryUI Nachrichten senden zu können, beispielsweise wenn man alle Benutzer ausloggen muss.

    Ich hätte dazu die Nachrichten in einer Tabelle gespeichert und jeder User hat ein ajax.autoUpdate Skript laufen welches die Tabelle nach neuen Nachrichten absucht und wenn gefunden in den Browser schreibt.

    Session-Dateien aller Benutzer auslesen oder jeder Benutzer die Angaben in eine Tabelle schreiben lassen?

    Vielen Dank für eure Inputs!

    Gruss

    da.eXecutoR
    It's not a bug. It's a feature!


  • #2
    Letzteres. Operationen über viele Dateien sind performancetechnischer Wahnsinn.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Okay, danke für deine Antwort.

      Gruss

      eXe
      It's not a bug. It's a feature!

      Kommentar


      • #4
        Grundsätzlich sind mir zwei Möglichkeiten bekannt, das eine ist, jeder Benutzer speichert beim Seitenaufruf in einer Sql Tabelle seinen Online Status, die andere Möglichkeit wäre den Session Ordner auszulesen und die nötigen Informationen bei jedem Benutzer in seiner Session zu speichern.
        Das eine schließt das andre ja nicht aus.
        Wobei ich mich frage, was Du mir "Session Ordner" meinst?

        Ich würd folgende Ansätze beachten
        1. User Verwaltung über Session-Management
        2. Online-Status und letzte Aktivität der User in DB festhalten
        3. CronJob, der alle Xmin/h die DB nach der letzten Aktivität abfragt und bei Inaktivität den Onlinestatus ausschaltet

        EDIT
        Session-Ordner war wohl als physikalischer Ordner im Dateisystem gemeint, den Du für die Session-Informationen verwenden wolltest?!
        Dann gebe ich nikosch recht, das kann zum Wahnsinn werden...
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Als Session Ordner meine ich den, welcher php anlegt. Eine andere Möglichkeit gibt es ja PHP Seitig nicht die Sessions der anderen Benutzer auszulesen oder?

          Grüsse
          It's not a bug. It's a feature!

          Kommentar


          • #6
            Den brauchst aber nicht selbst auslesen. Dazu sind ja Sessions und deren Funktionen da.
            Aber ein User-Management würde ich nie ohne Sessions verwirklichen bzw verwalten wollen...

            Kann sein, daß ICH da Deine Fragestellung nicht richtig verstanden habe?
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Ja, das kann sein. Er will nicht aus Usersicht die Session auslesen, sondern aus Adminsicht ALLE Sessions.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Ah ja, siehst mal... Vielleicht sollte ich gleich mal Mittag machen um den Kopf frei zu kriegen!
                Steht ja auch gleich im ersten Satz - jetzt wo ich nochmal hingucke...
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Zitat von Arne Drews Beitrag anzeigen
                  Ah ja, siehst mal... Vielleicht sollte ich gleich mal Mittag machen um den Kopf frei zu kriegen!
                  Steht ja auch gleich im ersten Satz - jetzt wo ich nochmal hingucke...
                  kann doch jedem mal passieren

                  Dann Mahlzeit!

                  Werde ich es wohl so machen dass ich eine Benutzerüberwachung als Tabelle in der DB realisiere.

                  Auf die Idee mit den Session-Files auslesen bin ich nur gekommen weil ich was darüber in meinem neuen Buch gelesen habe. Fands einen interessanten Punkt da die Performance im Admin-Backend ja eh nicht so wichtig ist und man auch 5 Sekunden darauf warten kann zu sehen wer alles eingeloggt ist. Aber mit der Tabelle lässt sich bestimmt auf lange Sicht auch mehr anstellen.

                  Vielen Dank Jungs!

                  eXe
                  It's not a bug. It's a feature!

                  Kommentar


                  • #10
                    Glaub mir, im Admincenter 5 Sekunden warten zu müssen kann ganz schön deprimierend sein

                    Kommentar


                    • #11
                      Naja, vor allem hast Du bei Sessiondateien keinen LOCK-Mechanismus, wie es eine DB leisten kann.
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Zitat von nikosch Beitrag anzeigen
                        Naja, vor allem hast Du bei Sessiondateien keinen LOCK-Mechanismus, wie es eine DB leisten kann.
                        Definitiv das letzte Wort.

                        Bin ich richtig im Bild. dass es keine Möglichkeit gibt die Sessions anderer Benutzer via PHP irgendwie direkt aus dem Memory / Cache zu holen? Sodass das LOCK / Timing Problem hinfällig ist.
                        It's not a bug. It's a feature!

                        Kommentar


                        • #13
                          Naja, welchem Cache? Sessions sind Arbeitsdaten, die sich normalerweise auch zeitlich verändern. Und dass der Apache alle Sessions im Arbeitsspeicher hält, dürfe ziemlich unwahrscheinlich sein.
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar


                          • #14
                            okay, wollte nur sicher sein. Schliesslich will man jeden Tag was dazu lernen
                            It's not a bug. It's a feature!

                            Kommentar


                            • #15
                              Du kannst natürlich einen eigenen Sessionhandler schreiben. Der die Sessiondaten nicht auf der Festplattes speichert sondern im Arbeitsspeicher. Z.B. Memcache oder Xcache. Aber bei persistenten Cookies wird das wohl recht viel auf Dauer werden.

                              Kommentar

                              Lädt...
                              X