Ich möchte eine kleine Webanwendung schreiben, welche IP + Zugangsdaten erhält, diese in einem Authenticator im Servlet setzt und anschließend auf eine durch Basic Authentication geschützte Seite umleitet (sodass die Daten dann nicht mehr eingegeben werden müssen).
Ich bin noch ziemlicher Anfänger und habe mit den Klassen URL, URLConnection, Authenicator noch nicht gearbeitet, daher für jede Anregung dankbar!
Wenn im Servlet nun redirected wird, müssen die Zugangsdaten trotzdem eingegeben werden.
Woran liegt das bzw. wie benutze ich den Authenticator richtig, damit er meine Anfroderungen erfüllt?
Ich bin noch ziemlicher Anfänger und habe mit den Klassen URL, URLConnection, Authenicator noch nicht gearbeitet, daher für jede Anregung dankbar!
Wenn im Servlet nun redirected wird, müssen die Zugangsdaten trotzdem eingegeben werden.
Woran liegt das bzw. wie benutze ich den Authenticator richtig, damit er meine Anfroderungen erfüllt?
Code:
package servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.net.URLConnection;
/**
* Servlet implementation class Connect
*/
public class Connect extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Connect()
{
super();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
final String ip = request.getParameter("ip");
final String user = request.getParameter("user");
final String pw = request.getParameter("pw");
Authenticator.setDefault(new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(user, pw.toCharArray());
}
} );
URL url = new URL("http://" + ip + "/");
URLConnection con = url.openConnection();
response.sendRedirect("http://***IP als String***");
}
}