Katharina: Zugriffsberechtigung prüfen

Hallo!

Vielleicht kann mir jemand von euch helfen. Ich möchte prüfen, wenn ich eine ".xml"-Datei mit Javascript und XML-dom lade, ob man auch Zugriff auf diese Datei hat und sie nur öffnet, wenn man wirklich Zugriff hat.

Kann mir hierbei jemand helfen. Wäre echt super!

viele Grüße
Katharina

  1. Hi,

    wenn ich eine ".xml"-Datei mit Javascript und XML-dom lade,

    Datei oder Ressource?

    ob man auch Zugriff auf diese Datei hat

    Was könnte dem entgegenstehen?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo,

      wenn ich eine ".xml"-Datei mit Javascript und XML-dom lade,

      Datei oder Ressource?

      Es sind xml-Dateien, die geladen werden.

      ob man auch Zugriff auf diese Datei hat

      Was könnte dem entgegenstehen?

      Vor dem Laden sollte überprüft werden, ob man auch eine Zugriffsberechtigung besitzt. Nur wie macht man das?? Hast du ne Ahnung??

      Viele Grüße
      Katharina

      1. Hi,

        Datei oder Ressource?
        Es sind xml-Dateien, die geladen werden.

        also von der lokalen Festplatte des Benutzers. Wie kommst Du darauf, dort sei die spezielle Datei vorhanden; und wenn sie es ist, warum sollte er keine Zugriffsberechtigung haben?

        ob man auch Zugriff auf diese Datei hat
        Was könnte dem entgegenstehen?
        Vor dem Laden sollte überprüft werden, ob man auch eine Zugriffsberechtigung besitzt. Nur wie macht man das?

        Das hängt unmittelbar mit der Antwort auf die Frage zusammen, was dem entgegenstehen könnte.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. » »» Es sind xml-Dateien, die geladen werden.

          also von der lokalen Festplatte des Benutzers. Wie kommst Du darauf, dort sei die spezielle Datei vorhanden; und wenn sie es ist, warum sollte er keine Zugriffsberechtigung haben?
          Das hängt unmittelbar mit der Antwort auf die Frage zusammen, was dem entgegenstehen könnte.

          Ja von der Festplatte oder von Cd werden die xml-Dateien geladen. Ich möchte er so einrichten, dass ich spezielle Benutzer einrichte und nur bestimmte Benutzer alles anschauen dürfen.

          Hast du eine Ahnung, wie das gehen könnte?
          Viele Grüße
          katharina

          1. Hi,

            Ich möchte er so einrichten, dass ich spezielle Benutzer einrichte und nur bestimmte Benutzer alles anschauen dürfen.

            wie definiert sich "Benutzer", wer oder was sagt, wer oder was durch wen oder was auf wen oder was zugreifen darf?

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Ich möchte er so einrichten, dass ich spezielle Benutzer einrichte und nur bestimmte Benutzer alles anschauen dürfen.

              wie definiert sich "Benutzer", wer oder was sagt, wer oder was durch wen oder was auf wen oder was zugreifen darf?

              Es geht nicht um Seiten, die im Internet zugänglich sind. Es ist ein Programm, das mit einem Webserver läuft und mittels html, xml(xsl) und javascript dargestellt wird.

              Also lege ich als Administrator auf dem PC, wo das Programm dann läuft, verschiedene Benutzer an und lege die Zugriffsbeschränkungen fest. Das Problem ist nur, dass dann eine allgemeine Fehlermeldung ausgegeben wird "permission denied" und ich würde lieber nicht die Fehlermeldung ausgeben, sondern eine eigene "Dieser Bereich ist für Sie nicht relevant und deshalb nicht darstellbar" oder so ähnlich.

              1. Hi,

                Es geht nicht um Seiten, die im Internet zugänglich sind.

                diese Information ist schon mal recht nützlich. Sie ist ungefähr so wichtig wie die Tatsache, dass Du etwas mit Computern machen möchtest.

                Es ist ein Programm, das mit einem Webserver läuft

                Lokal? Mit welchen Clients wird zugegriffen? Welche Techniken stehen serverseitig zur Verfügung? Die *exakte* Beschreibung des *gesamten* Systems - Client _und_ Server - ist immens wichtig.

                und mittels html, xml(xsl) und javascript dargestellt wird.

                Denn prinzipiell hat JavaScript keinen Zugriff auf gar nichts, schon gar nicht auf irgendwelche systemnahen Daten.

                Also lege ich als Administrator auf dem PC, wo das Programm dann läuft, verschiedene Benutzer an

                Benutzer für wen? Das Betriebssystem? Den Server? Den Browser? Das Zimmer?

                Das Problem ist nur, dass dann eine allgemeine Fehlermeldung ausgegeben wird

                Von wem?

                Cheatah

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Lokal? Mit welchen Clients wird zugegriffen? Welche Techniken stehen serverseitig zur Verfügung? Die *exakte* Beschreibung des *gesamten* Systems - Client _und_ Server - ist immens wichtig.

                  Eigentlich reicht es zu wissen (glaube ich) dass das mit javascript und xml - also dom - abgefragt werden muss, wenn das damit nicht geht, dann geht es wohl net.

                  Denn prinzipiell hat JavaScript keinen Zugriff auf gar nichts, schon gar nicht auf irgendwelche systemnahen Daten.

                  Mit "dom" lade ich ja auch die XML-Dateien, also geht es net um systemnahe Dateien. Es ist nur so, wenn man den Zugriff einstellt und man hat keine Leseberechtigung dafür, dann wird eine Fehlermeldung im Internet Explorer angezeigt und zwar "Fehler 403 - Permission denied". Und diese Fehlermeldung will ich abfangen, indem ich sage "if 'keine Berechtigung'" - dann lade nicht.

                  Also lege ich als Administrator auf dem PC, wo das Programm dann läuft, verschiedene Benutzer an

                  Benutzer für wen? Das Betriebssystem? Den Server? Den Browser? Das Zimmer?

                  Die Benutzer werden wir für das Betriebssystem festgelegt.

                  Von wem?

                  Ich schätze mal vom Betriebssystem werden die Berechtigungen überprüft. Wenn man eine html-Datei mit dem Editor öffnet kommt als Fehlermeldung "Zugriff verweigert" und wenn man es mit dem Internet Explorer öffnet "Permission denied" und diese Fehlermeldung möchte ich am liebsten abfangen, indem ich die Datei gar nicht lade, wenn ich keine Berechtigung habe, sondern nur eine Fehlermeldung ausgeben.
                  Katharina

                  1. Hi,

                    Eigentlich reicht es zu wissen (glaube ich) dass das mit javascript und xml - also dom - abgefragt werden muss, wenn das damit nicht geht, dann geht es wohl net.

                    tja, dann geht es halt nicht.

                    Denn prinzipiell hat JavaScript keinen Zugriff auf gar nichts, schon gar nicht auf irgendwelche systemnahen Daten.
                    Mit "dom" lade ich ja auch die XML-Dateien, also geht es net um systemnahe Dateien.

                    Daten, nicht Dateien.

                    dann wird eine Fehlermeldung im Internet Explorer angezeigt und zwar "Fehler 403 - Permission denied".

                    Kannst Du den IE als Client *garantieren*? Abgesehen davon: Es handelt sich hierbei um eine Meldung des Servers, die also ohne weiteres serverseitig verändert werden kann.

                    Benutzer für wen? Das Betriebssystem? Den Server? Den Browser? Das Zimmer?
                    Die Benutzer werden wir für das Betriebssystem festgelegt.

                    Danke. Wieso erfährt der Server etwas davon?

                    Ich schätze mal vom Betriebssystem werden die Berechtigungen überprüft.

                    Eben[1]. Läuft der Server im Kontext des Benutzers?

                    Cheatah

                    [1] Nun ja, das Filesystem über das Betriebssystem, oder so ähnlich :-)

                    --
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
                    1. Kannst Du den IE als Client *garantieren*? Abgesehen davon: Es handelt sich hierbei um eine Meldung des Servers, die also ohne weiteres serverseitig verändert werden kann.

                      Ja Client ist auf jeden Fall IE. Ja wollte die Fehlermeldung aber abfangen, indem ich dann gar nicht die XML-Dateien lade und die Fehlermeldung gar nicht ausgegeben wird, sondern eine Warnung mittels alert. Wo kann man denn das einstellen? Wäre zumindest ne Notlösung einen anderen Text darzustellen.

                      Die Benutzer werden wir für das Betriebssystem festgelegt.

                      Danke. Wieso erfährt der Server etwas davon?

                      Ich schätze mal vom Betriebssystem werden die Berechtigungen überprüft.
                      Eben[1]. Läuft der Server im Kontext des Benutzers?

                      Naja wenn man als Benutzer angemeldet ist und das sollte so sein, dann überprüft doch das Betriebssystem, ob man überhaupt Rechte hat, die Datei zu lesen und wenn nicht, wird eine Fehlermeldung ausgegeben.

                      Gibt also über Javascript keine Möglichkeit :-((
                      Grüße Katharina

                      1. Hi,

                        Ja Client ist auf jeden Fall IE.

                        warum sagst Du das nicht gleich? Du hast hiermit die Möglichkeit, Dich auf proprietäre Techniken und Schnittstellen zu stützen, die insbesondere mit JavaScript nichts mehr zu tun haben. Ich kann Dir dabei allerdings nicht helfen.

                        Ja wollte die Fehlermeldung aber abfangen, indem ich dann gar nicht die XML-Dateien lade und die Fehlermeldung gar nicht ausgegeben wird, sondern eine Warnung mittels alert.

                        Das wäre bei der serverseitigen Methodik nicht (bzw. nur mit erheblichem Aufwand) möglich.

                        Wo kann man denn das einstellen?

                        In der Serverkonfiguration. Bei Apache möchtest Du beispielsweise die ErrorDocument-Direktive verwenden.

                        Eben[1]. Läuft der Server im Kontext des Benutzers?
                        Naja wenn man als Benutzer angemeldet ist und das sollte so sein, dann überprüft doch das Betriebssystem, ob man überhaupt Rechte hat, die Datei zu lesen

                        Wenn der Server auf eine Datei zugreift, greift der _Server_ zu, nicht der Benutzer. Es ist völlig unerheblich, von welchem Rechner aus wer mit welchen dort(!)[1] vorliegenden Rechten zugreift - der Server ist immer noch der selbe. Darum die Frage, in welchem Kontext der Server gestartet wurde.

                        Gibt also über Javascript keine Möglichkeit :-((

                        In JavaScript nicht. Das hat aber nichts zu sagen im Hinblick darauf, ob eine mit JavaScript nutzbare Lösung existiert.

                        Cheatah

                        [1] Auch wenn es sich zufällig um den selben Rechner handelt: Ein HTTP-Zugriff ist ein HTTP-Zugriff ist ein HTTP-Zugriff, und der ist remote.

                        --
                        X-Will-Answer-Email: No
                        X-Please-Search-Archive-First: Absolutely Yes