Zugriff verhindern oder nicht ...

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

  • Zugriff verhindern oder nicht ...

    Ich brauch mal Eure Meinung. Es geht darum, dass verschiedene User einen Content bearbeiten können. Allerdings darf logischerweise immer nur einer imo drauf zugreifen, für die anderen solls gesperrt sein bis der User fertig ist.

    Die Bearbeitung geht in einem Popup auf (nich sehr intelligent aber geht imo net anders!). Wenn der User den Content zur bearbeitung aufruft trage ich dessen ID in die Datenbank ein. Also bsp: ID "1" bearbeitet diesen Content.

    Solange diese ID vorhanden ist, kann kein anderer drauf zugreifen. Macht allerdings der User einfach das Popup zu, bleibt die ID erhalten. Wäre es sinnvoll das mit einem Timeout zu handeln, dann darf aber der User nicht bummeln

    Oder habt ihr ne bessere idee?
    Signatur-Text ...

  • #2
    Da bleibt dir leider nicht viel Spielraum. Du kannst ohne weiteres nie genau wissen, ob der User gerade noch tippt oder einfach nur aus Versehen das Fenster aufgelassen hat oder es längst geschlossen hat. Ein Timeout ist also für soetwas unerlässlich. Du könntest natürlich die Fehlerquellen minimieren. Also z.B. den User das Popup über einen Button schließen lassen, der der DB mitteilt, dass er doch nichts machen möchte, oder dem User die Zeit anzeigen und ihm die Möglichkeit geben, seinen Bearbeitungszeit zu verlängern.
    All das setzt natürlich JS voraus. Da gibts bestimmt noch ein paar weitere Mechanismen aber alles in allem ist das von dir erwähnte Verfahren (id + timestamp incl. timeout) wohl das simpleste...

    Kommentar


    • #3
      Wobei dann die Frage wäre wieviel Zeit gibt man einem User? Isses n langsamtipper - gehen die anderen inzwischen kaffee trinken - macht ders nur uf und zu sind alle anderen geblockt ...
      Signatur-Text ...

      Kommentar


      • #4
        Mach doch im Hintergrund des PopUps eine Fkt, die regelmässig Kontakt mit dem Server aufnimmt. Kommt die Verbindung zustande wird die Ablaufzeit aktualisiert. Schliesst der User das Fenster wird die JS Fkt nicht mehr laufen und damit wird die Ablaufzeit auch nicht mehr aktualisiert. Nach Ablauf der Zeit fliegt dann die ID aus der DB. Würde dir empfehlen neben der ID auch einen Timestamp als Ablaufzeit zu speichern. Wenn dann also die ID noch in der DB steht, der Timestamp aber abgelaufen ist, dann gibst du den Zugriff auf die Datei wieder frei...

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          klingt gut - prob ich mal aus
          Signatur-Text ...

          Kommentar

          Lädt...
          X