Philipp Geschke: OS/2 Umgebungsvariablen in URL benutzen.

Hallo Zusammen!

mein Problem ist folgendes, beim Aufruf eines Links (Menüeintrag unter OS/2) soll Netscape (4.61) eine URL aufrufen.

Um genau zu sein, ein Java Servlet auf nem IBM Websphere.

der Websphere authentifiziert dann anhand der als parameter übergebenen benutzer daten den user an nem ldap server.

Das Problem hierbei: sobald Benutzernamen und pwd nichtmehr fest in die url eingetragen sind, sondern durch Umgebungsvariablen ersetzt werden funktioniert nichtsmehr.

der Link sieht also im Prinzip so aus:

https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=%USERNAME%&pwd=%USERPWD%

Leider funktioniert das nicht, da er genau diesen String ans Servlet postet.

Ich nehme an, das liegt daran, dass das % Zeichen als escapesequenz für URLs dient.

gibt es da eine möglichkeit? eventuell ne escape sequenz für die escape sequenz?

Das ganze ist echt dringend, und ich finde im Netz sonst nichts dazu :(

Wäre super, wenn mir jemand helfen könnte!

Gruß

Philipp

  1. hi,

    mein Problem ist folgendes, beim Aufruf eines Links (Menüeintrag unter OS/2) soll Netscape (4.61) eine URL aufrufen.

    Um genau zu sein, ein Java Servlet auf nem IBM Websphere.

    der Websphere authentifiziert dann anhand der als parameter übergebenen benutzer daten den user an nem ldap server.

    Das Problem hierbei: sobald Benutzernamen und pwd nichtmehr fest in die url eingetragen sind, sondern durch Umgebungsvariablen ersetzt werden funktioniert nichtsmehr.

    Usernamen als UMG-Variable kann ich noch verstehen, aber Passwort?

    der Link sieht also im Prinzip so aus:

    https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=%USERNAME%&pwd=%USERPWD%

    Bevor du den Link erzeugst gibt doch mal die Umgebung aus, um zu sehen was da überhaupt gesetzt ist.

    Alternative: Erst die Anmeldung am LDAP und wenn erfolgreich eine Session aufbauen like
    http://i-netlab.de/cgi-bin/index.cgi?display=40.15

    dann kann das Servlet gestartet werden.

    Rolf

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. hi,

      mein Problem ist folgendes, beim Aufruf eines Links (Menüeintrag unter OS/2) soll Netscape (4.61) eine URL aufrufen.

      Um genau zu sein, ein Java Servlet auf nem IBM Websphere.

      der Websphere authentifiziert dann anhand der als parameter übergebenen benutzer daten den user an nem ldap server.

      Das Problem hierbei: sobald Benutzernamen und pwd nichtmehr fest in die url eingetragen sind, sondern durch Umgebungsvariablen ersetzt werden funktioniert nichtsmehr.

      Usernamen als UMG-Variable kann ich noch verstehen, aber Passwort?

      der Link sieht also im Prinzip so aus:

      https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=%USERNAME%&pwd=%USERPWD%

      Bevor du den Link erzeugst gibt doch mal die Umgebung aus, um zu sehen was da überhaupt gesetzt ist.

      Alternative: Erst die Anmeldung am LDAP und wenn erfolgreich eine Session aufbauen like
      http://i-netlab.de/cgi-bin/index.cgi?display=40.15

      dann kann das Servlet gestartet werden.

      Rolf

      1. Hi, sorry, da hatte ich nen kleine timeout beim posten!

        Erstmal: vielen dank für deine antwort!

        Usernamen als UMG-Variable kann ich noch verstehen, aber Passwort?

        der user soll sich auf keinen fall zweimal einloggen.
        daher werden beim maschinen login user und pwd als umgebungsvariablen gespeichert. diese sollen ausgelesen und gepostet werden.

        Bevor du den Link erzeugst gibt doch mal die Umgebung aus, um zu sehen was da überhaupt gesetzt ist.

        sie sind gesetzt. das speichern und auslesen der daten wird bereits länger auf diesen maschinen praktiziert, es ist nur das erste mal mit netscape bzw. http

        Alternative: Erst die Anmeldung am LDAP und wenn erfolgreich eine Session aufbauen like
        http://i-netlab.de/cgi-bin/index.cgi?display=40.15

        wir überspringen praktisch den formularschritt und posten die userdaten mit dem http request. die url mit %USERNAME% usw. wird in der verknüpfung zur netscape.exe gespeichert.

        Um das ganze ein bisschen zu erklären:
        es geht hierbei um terminals, auf denen diese webapplikation über einen menüpunkt wie ein programm gestartet werden soll.

        da diese requests aus einem anderen netz ins firmennetzwerk gehen, ist eine authentifizierung notwendig. da aber user und passwort für maschine und netz gleich sind, sollen sie mitgepostet werden.
        aber in einer URL wird %USERNAME% erstmal als escapesequenz gedeutet wie %20 für ein space. daher wahrscheinlich keine umwandlung von variable in wert :(

        any other ideas?

        Gruß

        Philipp

        1. hi,

          ok. Aber ich verstehe das Problem nicht ganz, wenn du

          den Usernamen und das Passwort in Variablen hast, warum baust du dann eine solche URI:

          https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=%USERNAME%&pwd=%USERPWD%

          bau die doch so:
          https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=$uid&pwd=$pas

          Viele Grüße, Rolf

          --
          SELFforum - Das Tor zur Welt!
          Theoretiker: Wie kommt das Kupfer in die Leitung?
          Praktiker: Wie kommt der Strom in die Leitung?
          1. Hi Rolf,

            hi,

            ok. Aber ich verstehe das Problem nicht ganz, wenn du

            den Usernamen und das Passwort in Variablen hast, warum baust du dann eine solche URI:

            https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=%USERNAME%&pwd=%USERPWD%

            bau die doch so:
            https://irgendein.server.lan/Ordner/DasLiebeKleineServlet?action=LOGIN&user=$uid&pwd=$pas

            Viele Grüße, Rolf

            Was du da schreibst ist Linux/Unix syntax für umgebungsvariablen, windows und os/2 reagieren nur auf %VIABLE% nicht auf $VARIABLE

            Problem ist aber mittlerweile gelöst.

            macht man den aufruf nicht aus ner verknüpfung sondern aus ner batchdatei, tritt der fehler nicht auf, dort wird %USERNAME% usw. richtig umgesetzt.

            Vielen Danke trotzdem!

            Gruß

            Philipp