Abbiamo l'autenticazione di base abilitata su Tomcat6. L'utente viene autenticato nel browser e quindi viene avviato JNLP per avviare l'applicazione in Java Web Start. All'avvio, java web start tenta di scaricare i file jar dal server ma non sta utilizzando la stessa sessione che è già autenticata dal browser. Basato sui forum, ho provato a passare l'ID di sessione in JNLP usando la proprietà sid e aggiungendo l'URL. L'ambiente è limitato, quindi ogni richiesta deve essere autenticata, non possiamo dire di escludere richieste di file jar non autenticate. Di seguito è riportato il mio JSP che crea il file JNLP, chiunque può aiutare come possiamo continuare la stessa sessione per scaricare i file jar già autenticati dal browser.Continua sessione browser in JNLP
<% response.setContentType("application/x-java-jnlp-file"); %>
<%= "<?xml version=\"1.0\" encoding=\"utf-8\"?>" %>
<!-- JNLP File for SimpleTableDemo -->
<%
String baseURL = request.getRequestURL().toString().replace(request.getRequestURI(), request.getContextPath());
%>
<jnlp codebase="<%=baseURL%>">
<information>
<title>Simple Table Demo Application</title>
<vendor>Try</vendor>
<description>SimpleTableDemo</description>
<description kind="short">An application that demonstrates a simple table.</description>
</information>
<resources>
<j2se version="1.6+" />
<property name="sid" value="<%=request.getSession().getId()%>" />
<property name="serviceHost" value="<%=request.getServerName()%>"/>
<property name="servicePort" value="<%=request.getServerPort()%>"/>
<jar href="AuthenticateJNLPJars.jar;JSESSIONID=<%=request.getSession().getId()%>" />
</resources>
<application-desc main-class="SimpleTableDemo" >
</application-desc>
</jnlp>
Sto passando id di sessione nei parametri laterali come indicato nel codice. Questi parametri possono essere utilizzati se la mia applicazione effettua una richiesta server, ma JWS non sta utilizzando tali parametri durante il download dei file jar dal server. Questo è il problema – Stauz