【问题标题】:Have Java Web Service execute under different context让 Java Web Service 在不同的上下文中执行
【发布时间】:2010-07-27 11:45:28
【问题描述】:

我们有一个在 AIX 5 上运行的 Java 1.4 Web 服务。我们希望 Web 服务方法在调用者的上下文中执行,而不是在托管 Web 服务器的上下文中执行。我们该怎么做呢?

【问题讨论】:

  • “调用者的上下文”是什么意思?
  • 调用者可以传入用户名/密码,对服务器进行身份验证,然后作为调用者执行代码。

标签: java security web-services


【解决方案1】:

您应该能够执行 JAAS 身份验证(就像普通的 J2EE Web 应用程序一样),这将建立与主题关联的主体。容器自动确保当前工作线程与识别的主题相关联。与普通 servlet 一样,主题及其主体也向下传播到服务/业务层。

确定底层应用程序服务器的 Web 服务安全特性可能也是值得的,因为它可能提供比 JAAS 中存在的基本/摘要/表单身份验证功能更多的特性。例如,WebLogic Server 允许对 Web 服务客户端进行基于证书的身份验证(涉及一些配置),您正在使用的应用程序服务器也可能如此。通常,容器安全功能将在 JAAS 和 J2EE 1.4 中的相关安全功能之上,从而确保应用程序其他部分中使用的 J2EE 安全功能将继续按预期执行。

【讨论】:

    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    相关资源
    最近更新 更多