Announcement

Collapse
No announcement yet.

TomCat Realm Userdaten per POST übergeben ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TomCat Realm Userdaten per POST übergeben ?

    Hallo,

    hat schonmal einer getestet ob es möglich ist die Anmeldedaten an TomCat per Parameter wie z.B.:
    http://localhost:8080/anwendung/extern.jsp?user=xyz&password=test

    Ich muss einer externen Anwendung die Möglichkeit geben auf meine Anwendung zuzugreifen und das Anmeldefenster soll entsprechend dann nicht erscheinen.

    Grüsse
    Matze

  • #2
    Hallo,

    Ausprobiert habe ich es noch nicht - aber wenn, müssten die Parameter vermutlich <i>j_username</i> bzw. <i>j_password</i> heissen. Vielleicht geht es aber auch gar nicht, denn die Form-basierte Authentifizierung geschieht innerhalb des Containers.

    Ansonsten gibt es bei vielen Open-Source Http-Client-Bibliotheken die Möglichkeit, username und password explizit anzugeben. Kanns ja mal unter <b>http://jakarta.apache.org/commons/httpclient/3.0/index.html</b> nachsehen...

    Gruß, Jör

    Comment


    • #3
      Hallo,
      ich hatte leider erst jetzt die Möglichkeit mich wieder um das Problem zu kümmern.
      Zum Status:
      Ich habe jetzt die REALM auf FORM umgestellt. Jetzt würde ich gerne im Fall das die Parameter User und Passwort an die Login-Seite geschickt werden, TomCat mitteilen das der User Authentifiert ist und Ihm die Genehmigung erteilen.

      Bei meinem Test bekomme ich wohl erfolgreich die Authentifierung, aber kann mich trotzdem nicht auf andere Seiten bewegen, sondern gelange immer wieder auf die Login-Seite.
      Achja das ganze mit TomCat 4.12.
      <code>
      import java.net.*;
      import java.io.*;

      public class Login extends Authenticator
      {
      private String username;
      private String password;

      protected PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(username, password.toCharArray());
      }
      public void Login(String username, String password)
      {
      this.username = username;
      this.password = password;
      try
      {
      java.net.URL url = new java.net.URL("http://localhost:8080");
      URLConnection conn = url.openConnection();
      Authenticator auth = new Login();
      java.net.Authenticator.setDefault(auth);
      conn.setDoOutput(true);
      System.out.println("User: "+username+" - Passwort: "+password);
      System.out.println("Auth: "+auth);
      }
      catch (MalformedURLException e) {e.printStackTrace();}
      catch (IOException e) { e.printStackTrace();}
      }
      }
      </code>

      Hat jemand eine Idee weshalb ich mich nicht weiter bewegen kann ? bzw. kann es am localhost liegen ?

      Vielen dank im voraus.
      Grüsse
      Matz

      Comment

      Working...
      X