技术开发 频道

在服务组件体系结构组件上定义 J2EE 角色

  【IT168 技术文章】

         引言

  在当前的 SCA 组装模型规范文档中,QoS 并不是规范的主要组成部分,而仅在附录中对其进行了定义。它列出了三个域的标准 SCA 策略元素和属性:安全、事务和可靠消息传递。

  WebSphere Process Server 和 WebSphere Integration Developer 一起提供了这些域的一个实现。对打包为 SCA 模块的 SCA 组件进行连接时,可以指定 QoS 限定符。这些限定符可为 SCA 组件提供服务质量保证,同时也为这些组件的客户端提供了服务质量保证。可以在三个级别定义限定符:

  引用

  接口

  实现

  根据限定符具体情况,定义可能在特定的级别不可用。安全限定符只能在以下两个级别定义:

  接口:在此级别,可以定义 SCA 组件的安全权限。允许定义 J2EE 角色,因此只有与此角色关联的客户端才被授权调用组件。

  实现:在此级别,可以定义 SCA 组件的安全标识。允许定义组件标识,与为 Enterprise Java Bean (EJB) 定义委托策略(也称为 Run-As 模式映射)的方式相似。它允许将组件的所有方法作为特定安全角色的成员运行。

  所有限定符都在服务组件定义语言(Service Component Definition Language,SCDL)文件的特定部分定义,此文件用于定义 SCA 组件的接口、实现和服务质量要求。

  现在我们将演示一个使用 WebSphere Integration Developer 开发的简单示例,从而说明如何在 SCA 组件上定义安全限定符。本文所使用的 WebSphere Integration Developer 版本为 6.0.1。

  关于示例应用程序

  您将把一个项目交换文件导入到 WebSphere Integration Developer 中,该文件中包含一个预先构建的示例,此示例由具有一个 SCA 组件的 SCA 模块、此组件的 Java 实现和调用它的 JSP 测试页组成。还包含了一个基于表单的登录页,以允许登录到该示例。

  图 1 显示了 CreditApprovalSCAModule SCA 模块的组成情况,其中包含 CreditApproval SCA 组件和一个独立的引用(因为 CreditApproval 由 JSP——非 SCA 组件进行调用)。

  图 1. CreditApprovalSCAModule SCA 模块

  导入示例

  首先,需要下载示例,并将其导入到 WebSphere Integration Developer 工作区。

  将本文所包括的项目交换文件下载到您的硬盘。项目交换文件是压缩归档文件,其中包含所有源项目(包括 SCA 模块)。

  在 WebSphere Integration Developer 中打开一个空白工作区,并关闭欢迎屏幕。Workbench 应在 Business Integration 透视图中打开。

  要导入项目交换文件,请右键单击 Business Integration 视图并选择 Import。

  选择 Project Interchange,然后选择 Next。

  浏览到下载的文件,然后单击 Select All 和 Finish。如果在 Problems 选项卡中看到错误,请单击 Project 菜单,然后单击 Build Automatically 取消选中,然后单击 Build All,从而重新构建项目。

  展开 CreditApprovalSCAModule 模块(图 2)。

  图 2. 展开的 CreditApprovalSCAModule

       

  请对 CreditApproval SCA 组件的 CreditApproval 接口和 CreditApprovalImpl Java 实现加以注意。

  定义安全角色

  接下来,我们将定义安全角色。安全角色是具有安全资源(如 Servlet、JSP、EJB 或 SCA 组件)及方法的访问权限的命名用户集。在示例中,我们希望保护的资源是调用 SCA 组件的 JSP 和 SCA 组件本身。角色将在应用程序部署时映射到实际的用户和组(在称为安全角色映射 的过程期间进行)。

  对于我们的示例,安全角色已经在导入的项目交换文件中进行了定义。

  为了便于使用,我们经常使用 J2EE 透视图。对于某些产品许可证,此透视图可能不可用。如果看不到此透视图,可以向 Business Integration 透视图添加 Navigator 视图,但无法使用部署描述符编辑器。

  从 Window 菜单中选择 Preferences。

  展开 Workbench,并单击 Capabilities。

  选中 Advanced J2EE,然后单击 OK。

  从 Window 菜单中选择 Open Perspective - Other...

  选择 J2EE,然后单击 OK。

  在 Project Explorer 视图中,依次展开 Dynamic Web Projects、CreditApprovalClient 项目和 WebContent(图 3)。

  图 3. CreditApprovalClient 内容

        

  包含调用 SCA 组件的 JSP (creditApprovalClient.jsp) 和基于表单的登录页 (login.html) 的 Web 项目。

  双击 CreditApprovalClient Web 项目的部署描述符,并检查 Security 选项卡的内容(图 4)。

  定义了三个角色(manager、nonManager 和 delegate)。JSP 上还有一个访问安全约束。映射到其中一个角色的所有用户都被授予了访问该 JSP 的权限。

  图 4. Security 选项卡

0
相关文章