- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个设置,我通过浏览器获取 protected JNLP,JNLP 将身份验证 cookie 保存为一个属性。然后使用 jnlp 文件运行 javaws。 jnlp 需要 protected 资源,所以我需要将身份验证 cookie 传递给 javaws 进程,以便它在下载资源时可以使用它...如何将身份验证 cookie 传递给 javaws 进程?
我已经检查了 javaws 和 JNLP 可用的所有参数,但我无法找到如何做到这一点。
这可能吗?
最佳答案
我想我找到了解决方案。 Java Web Start 使用与 Internet Explorer 相同的 cookie 存储 - 请参阅 here 中的评论查看 JavaWebStart 应用程序如何收集 IE 持久性 cookie。
为了让它发挥作用,我开发了以下内容:
在您的 Web 服务器中有一个 servlet 可以拦截身份验证 cookie,使其持久化并将其添加到响应中
public class CookieServlet extends org.springframework.web.servlet.mvc.AbstractController {
...
protected ModelAndView handleRequestInternal(final HttpServletRequest req,
final HttpServletResponse resp) throws Exception {
....
Cookie[] cookies = req.getCookies();
String session = null;
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("AUTHSESSION")) {
session = cookie.getValue();
break;
}
}
}
if(null!=session) {
Cookie cookie = new Cookie("AUTHSESSION", session);
cookie.setMaxAge(<specify cookie age>);
resp.addCookie(cookie);
}
...
}
现在通过 cmd.exe 启动您的 jnlp - 您可以毫无问题地访问资源,因为它从 IE cookie 存储中获取 cookie
注意:如果您的身份验证支持将身份验证 session token 作为参数传递,那么您还可以扩展 jnlp“jar”标签以包含 AUTHSESSION 值,即
<jar href="your_jar.jar?AUTHSESSION=<session value>"/>
对于我们来说,情况并非如此,必须以 cookie 的形式提供身份验证 session 。
关于java - 将 cookie 从 JNLP 传递到 JAVAWS 以下载 protected 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27153323/
使用 Java 已有多年,但最近关于 JRE 零日漏洞利用的警告令人不安。 我正在考虑以下方法(全部在 Windows 7 Ultimate/64 位计算机上): 在所有浏览器中禁用 Java(早就完
我的应用程序启动本地 Windows 应用程序,例如使用 JVM 运行时的计算器。 我正在遵循 http://www.javaworld.com/article/2071275/core-java/w
升级到 Java 7(Oracle/Sun JDK,而非 OpenJDK)后,如果我尝试使用 javaws 在 Web Start 下测试我的应用程序,它会告诉我“应用程序被安全设置阻止”。我可以使用
我正在尝试使用 eclipse juno,但即使在阅读了这里的很多页面后仍然不断出现错误。 当我尝试使用 C:\Users...\eclipse\eclipse.exe -vm "%JAVA_HOME
我使用Debian。我已经安装了 Java 8 和更高版本的 Java 6,使用 http://ppa.launchpad.net/webupd8team/java/ubuntu 上提供的脚本. 我运
我无法启动“javaws -viewer”。我使用的是“Windows10”,当我在“运行”窗口中键入以下命令时,收到一条错误消息。请在下面找到相同的屏幕截图。 javaws –viewer java
我们会定期遇到阻止小程序运行的问题,进程 javaw.exe 似乎已锁定,因此多次杀死它们以解锁小程序。在跟踪文件中,我找到了这个(我们有 jdk 1.6_35,该小程序由 j2ee Web 应用程序
我正致力于使用 JNLP 自动执行相同的 Java 代码,我惊讶地发现 jawaws 没有给我一个有效的返回码。 原始执行行是: javaws -wait http://example.com:666
这个问题在这里已经有了答案: Start a java program without the console (7 个答案) 关闭 9 年前。 我的游戏引擎是 Jython 和 Java 的组合,
最近,由于内存不足错误,javaw.exe 进程一直在接管我的计算机并迫使我退出 Eclipse 和其他应用程序。请注意,我根本没有最大化系统,我正在处理一些基本的 Java 程序,并且我最多一次打开
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: Eclipse will not open due to environment variables 我正在使
进程文件:javaw or javaw.exe 进程名称:Sun Java 进程类别:存在安全风险的进程 英文描述: Sorry,No English Decriptions For the
任务管理器显示许多 javaw.exe 实例驻留在内存中,导致 Windows 内存不足。我正在使用此代码关闭我的 Java 应用程序: SwingUtilities.invokeLater(new
我们有一个使用 JavaWS 启动的应用程序。我知道 JNLP 内容中列出的 JAR 存储在客户端部署缓存中。有没有办法让我的应用程序获取用于启动它的实际缓存文件的列表? 我打印出了类路径:c:\Pr
摘要:如何在同一台机器上运行重复的 JavaWS 应用程序(它们来自相同的源代码,但使用不同的数据)? 我在客户端站点上运行旧版本的应用程序。我对应用程序进行了升级,并部署了这两个应用程序(使用不同的
在 postman 中,我将表单数据发布到基于 play2 框架构建的 API。现在我想在 play2 框架上构建的另一个 API 中进行相同的调用。 ws.url(url).setContentTy
我有一个通过 Java Webstart 启动的 Java 应用程序。有时,在应用程序的新部署之后,启动应用程序会导致在每次启动时下载两次。我还没有深究这个问题,但我认为它可能与我们的 squid 代
java ,javaw 和 javaws 的区别: 首先,所有的这些都是java的启动装置,java.exe经常使用,当使用命令行输出到window的
我在 Mac 上有一个 shell 脚本,用于查找 javaw。即: #!/bin/sh javaw -version 2> /dev/null if [ $? == 0 ]; then java
我需要通过在我的代码中传递命令行参数来激活 webstart。我看过Passing command line arguments to javaws (Java WebStart) executabl
我是一名优秀的程序员,十分优秀!