2025年jee neow_集成JEE授权

jee neow_集成JEE授权Web 服务安全性 WS Security 是 OASIS 标准 描述了如何使用 Web 服务实现消息级安全性 具体地说 WS Security 描述了如何在 SOAP 消息中添加机密性 例如加密 完整性 例如数字签名 以及传播用于身份验证的安全性令牌

大家好,我是讯享网,很高兴认识大家。

Web服务安全性(WS-Security)是OASIS标准,描述了如何使用Web服务实现消息级安全性。 具体地说,WS-Security描述了如何在SOAP消息中添加机密性(例如加密),完整性(例如数字签名)以及传播用于身份验证的安全性令牌(例如用户名和密码)。 但是,WS-Security规范允许在SOAP消息中同时发送多个安全令牌,并且通常Java™平台企业版(JEE)Web服务提供程序实现基于来自安全令牌之一的主体(身份)执行授权检查。 在本文中,我们将描述如何配置WebSphere以选择SOAP消息的哪个安全令牌作为JEE主体,可用于授权决策。

请注意,JEE安全模型支持Web容器和EJB容器的声明性安全授权以及编程安全性。 使用Web容器编程API(例如getUserPrincipal() )和EJB容器编程API(例如getCallerPrincipal() )之间存在细微的差异。 但是,本文的范围是讨论如何配置Web服务,以指定应将SOAP标头中的令牌之一用作JEE主体。 设置此主体后,您可以像往常一样简单地使用JEE安全模型和WebSphere Base Security API。

您可以声明性地或以编程方式使用JEE安全模型对servlet和EJB进行授权。 但是,出于本文的目的,我们将演示一个基于Servlet的Web服务,该服务使用编程JEE API来获取主体。 您可以扩展该示例以使用JEE编程API在基于servlet的基础Web服务提供程序中执行编程授权检查,或者为EJB配置基于JEE角色的方法级安全性。 Web容器以及EJB容器的JEE声明性和程序性安全性将在其他材料中介绍,而不是本文的重点。 (请参阅相关主题以获取更多信息)。我们的目标是展示如何启用与WebSphere Application Server上的JEE授权框架使用消息级安全令牌的集成。


讯享网

创建一个JAX-WS服务提供者

  1. 使用Rational Application Developer(Application Developer)V7.5.2,创建一个新的动态Web项目,其项目名称为HelloWorldProject
  2. 接下来,创建一个名为HelloWorldProvider的新Java类,并将清单1的内容复制到该新类中。
    清单1. HelloWorldProvider.java
    package com.ibm.dwexample; import javax.annotation.Resource; import javax.jws.WebService; import javax.xml.ws.WebServiceContext; @WebService public class HelloWorldProvider { @Resource WebServiceContext wsCtx; public String sayHello(String msg) { System.out.println("[provider] received " + msg); System.out.println("[provider] user = " + wsCtx.getUserPrincipal()); return "Hello " + msg; } }

    讯享网

    HelloWorldProvider代码中有趣的部分是@Resource WebServiceContext 。 此行允许JAX-WS运行时注入Web服务上下文,并使您能够从上下文访问JEE主体。 但是,为了使此代码实际在Application Server中返回正确的主体,必须在服务提供者绑定中配置Call​​er。 否则,您可能会得到“主体:/ UNAUTHENTICATED *”的结果。

  3. 右键单击HelloWorldProject,然后选择Run As => Run on Server 。 确保在“ WebSphere Application Server发布设置”部分中选择了“使用服务器上的资源运行服务器”
  4. 选择一个WebSphere Application Server v7.0服务器概要文件,然后单击Finish

保护服务提供商

策略集和策略集绑定在第1部分中进行了介绍,因此我们将直接创建一个策略集,该策略集将用于指定UsernameToken作为Web服务的身份验证令牌。 创建此策略集并将其附加到服务提供者后,您将创建服务器端绑定,在其中您将指定将哪个令牌用作主要安全令牌,即JEE主体。 您需要执行此操作,因为WS-Security规范允许附加多个令牌进行身份验证,因此需要其他元数据来标识哪个是主要安全令牌。 在WebSphere中,此元数据称为“调用者”,并被配置为WS-Security绑定的一部分,如我们在本文中将展示的那样。

我们将使用Application Server管理控制台来创建策略集,将该策略集附加到您的服务提供商,并创建该服务提供商将遵循的绑定。

  1. 在Application Developer中,在Servers视图中右键单击Application Server V7运行时,然后选择Administration => Run管理控制台 ,如图1所示。
    图1.启动管理控制台
    启动管理控制台
小讯
上一篇 2025-02-23 14:34
下一篇 2025-03-09 18:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58260.html