浏览器会话,我们有启用的tomcat6基本身份验证。用户在浏览器中进行身份验证,然后启动JNLP以在Java Web Start中启动应用程序。在启动时,java web start尝试从服务器下载jar文件,但它没有使用已被浏览器认证的同一会话。基于论坛,我试图通过使用sid属性在JNLP中传递会话ID以及在URL中追加。环境受到限制,因此每个请求都需要进行身份验证,我们不能说排除对未被验证的jar文件的请求。下面是我的JSP创建JNLP文件,任何人都可以请帮助我们如何继续同一会话来下载已被浏览器认证的jar。继续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>
我正在通过代码中提到的侧参数的会话ID。如果我的应用程序发出服务器请求,但可以使用这些参数,但JWS在从服务器下载jar文件时未使用该参数。这是问题 – Stauz 2013-05-01 10:31:33