【问题标题】:Why my web service server keeps the first successful authentication to an application server?为什么我的 Web 服务服务器保留对应用程序服务器的首次成功验证?
【发布时间】:2012-10-23 09:52:21
【问题描述】:

我有一个基于 Java SE 6 的 JAX-WS Web 服务。有一个通过 HTTP 登录应用服务器并读取信息的 Web 服务方法。

如果客户端使用正确的用户名和密码调用 Web 服务方法,它将在应用服务器上进行身份验证,然后得到响应。

然后,如果第二个客户端使用错误的用户名/密码调用 Web 服务方法,它也会通过身份验证并接收机密信息 - 这是错误的行为。

只有在两次客户端调用之间重新启动网络服务服务器时,如果用户名/密码错误,第二次调用才会被拒绝。

好像web servce服务器一旦创建了认证连接就保持对应用服务器的认证,然后后续的调用就不需要再认证了。

我的问题是,如何让 Web 服务方法的 2 次调用完全隔离?

【问题讨论】:

  • 身份验证的机制是什么?
  • 应用程序服务器是 PTC Windchill 服务器。它使用 HTTP 身份验证基础结构。这是一个 Web 服务器,它使用 LDAP 可访问的目录服务器作为其用户数据库来验证 HTTP 请求。

标签: java web-services authentication


【解决方案1】:

只是在这里猜测,但您是否将身份验证令牌作为实例变量存储在 WS servlet 中?

干杯,

【讨论】:

    【解决方案2】:

    您有两个选择 - 让您的 Web 服务类似于 RESTful(在每个请求中传递您的身份验证详细信息,并且不要在 Web 服务本身中存储任何状态信息,或者确保您在 Web 服务和您的客户端之间传递和验证 sessionID(s )。
    但是如果没有看到你的代码,很难说在这种情况下什么是更好的方法。

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 2012-10-03
      • 1970-01-01
      • 2017-09-13
      相关资源
      最近更新 更多