Hey,
ich habe folgendes Problem nach viel Ausprobieren, Googlen und Testen...
Ich suche nach einer Möglichkeit, eine URL im Browser ohne Login Formular zu öffnen. Ich programmiere mit Java in Eclipse auf Win10. Das Thema an sich ist eine Online-Hilfe für unsere Software zu erstellen. Diese soll sich kontextsensitiv im Browser öffnen, wenn der Hilfe-Button innerhalb der Software angeklickt wird. Hierbei soll aber der Login in Confluence umgangen werden und direkt die Online-Hilfe angezeigt werden. Die entsprechende URL und Login-Daten poste ich aus Datenschutz gründen logischerweise nicht. Die Authentication erfolgt aktuell wie folgt:
[CODE lang="java" title="Authentication"]String authString = name + ":" + password;
System.out.println("Auth String: " + authString);
byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
String authStringEnc = new String(authEncBytes);
System.out.println("Base64 encoded auth string: " + authStringEnc);
URL url = new URL(webPage);
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);[/CODE]
Die Authentifizierung ist erfolgreich, aber ich weiß nicht, wie ich die Cookies setzen oder die Sitzung an den Browser übertragen soll. Um den Browser zu öffnen, verwende ich derzeit diesen Code:
[CODE lang="java" title="Webseiten Aufruf mit Browser"]if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
try {
Desktop.getDesktop().browse(new URI(webPage + "/login.action" + "?os_username=" + name + "&" + "os_password=" + password));
} catch (IOException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}[/CODE]
Dieses Verfahren ist jedoch viel zu unsicher, da die Anmeldedaten in der URL unverschlüsselt sind. Ich weiß nicht, ob es überhaupt möglich ist, eine in Java authentifizierte Website über den Browser aufzurufen. Ich hab das ganze Internet abgesucht aber nichts gefunden, das jetzt irgendwie beim Aufruf des Browser irgendwelche Header-Daten mit übergibt oder Cookies setzt etc. Ich brauch Hilfe bitte. Danke im vorraus!
ich habe folgendes Problem nach viel Ausprobieren, Googlen und Testen...
Ich suche nach einer Möglichkeit, eine URL im Browser ohne Login Formular zu öffnen. Ich programmiere mit Java in Eclipse auf Win10. Das Thema an sich ist eine Online-Hilfe für unsere Software zu erstellen. Diese soll sich kontextsensitiv im Browser öffnen, wenn der Hilfe-Button innerhalb der Software angeklickt wird. Hierbei soll aber der Login in Confluence umgangen werden und direkt die Online-Hilfe angezeigt werden. Die entsprechende URL und Login-Daten poste ich aus Datenschutz gründen logischerweise nicht. Die Authentication erfolgt aktuell wie folgt:
[CODE lang="java" title="Authentication"]String authString = name + ":" + password;
System.out.println("Auth String: " + authString);
byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
String authStringEnc = new String(authEncBytes);
System.out.println("Base64 encoded auth string: " + authStringEnc);
URL url = new URL(webPage);
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);[/CODE]
Die Authentifizierung ist erfolgreich, aber ich weiß nicht, wie ich die Cookies setzen oder die Sitzung an den Browser übertragen soll. Um den Browser zu öffnen, verwende ich derzeit diesen Code:
[CODE lang="java" title="Webseiten Aufruf mit Browser"]if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
try {
Desktop.getDesktop().browse(new URI(webPage + "/login.action" + "?os_username=" + name + "&" + "os_password=" + password));
} catch (IOException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}[/CODE]
Dieses Verfahren ist jedoch viel zu unsicher, da die Anmeldedaten in der URL unverschlüsselt sind. Ich weiß nicht, ob es überhaupt möglich ist, eine in Java authentifizierte Website über den Browser aufzurufen. Ich hab das ganze Internet abgesucht aber nichts gefunden, das jetzt irgendwie beim Aufruf des Browser irgendwelche Header-Daten mit übergibt oder Cookies setzt etc. Ich brauch Hilfe bitte. Danke im vorraus!