【问题标题】:Continue Browser Session in JNLP Java Web Start while maintaining jar cache在 JNLP Java Web Start 中继续浏览器会话,同时维护 jar 缓存
【发布时间】:2013-11-18 18:58:02
【问题描述】:

用户在浏览器中通过身份验证,然后启动 JNLP 以在 Java Web Start 中启动应用程序。我们希望能够将 jar 下载限制为仅经过身份验证的用户。

一个想法是在 jar 的 url 中使用身份验证令牌,以便我们仅将 jar 提供给经过身份验证的用户。这样做的问题是 Web 启动客户端每次都会重新下载 jar,因为 url 会改变。

有没有办法像浏览器一样将 JSESSIONID 传递给 jnlp 并将其作为 cookie 传递给每个 jar 请求?

【问题讨论】:

  • 为什么url每次都会变?您可以每次为同一个用户生成相同的令牌。
  • 基本 url 将保持不变,我们将有一个包含令牌的参数。这似乎导致 Jws 重新下载 jar。
  • 即使每次token都一样?另一种方法是将令牌作为路径的一部分而不是参数,如果正确映射,您仍然可以在 servlet 中处理它。

标签: java spring-mvc tomcat7 java-web-start jnlp


【解决方案1】:

这里有一个解决方案:https://stackoverflow.com/a/8331192/488012

这涉及到使用Security Constraints

然后 JWS 会在下载 jars 时要求提供凭据。

【讨论】:

  • 我们不想做的一件事是多次要求提供凭据。因此,我们希望拥有有效网络会话的用户能够下载 jnlp 并启动​​客户端应用程序,而无需再次提供凭据。
【解决方案2】:

也许不是您正在寻找的 droids 答案,但您有没有想过将登录凭据添加到应用程序本身?那么当应用程序启动时会显示登录屏幕吗?然后您可以使用Preferences 等存储凭据。这样您就不会在乎谁下载了您的应用,它从内部是安全的。

【讨论】:

    猜你喜欢
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    相关资源
    最近更新 更多