IBM Cognos 最佳实践: 保护 Lifecycle Manager Web URI

文档性质:最佳实践;产品:IBM Cognos Lifecycle Manager;关注领域:升级/迁移

本文描述如何保护 Lifecycle Manager Web URI。

Greg McDonald, 产品经理, IBM

作为 IBM Cognos Platform 团队的产品经理,Greg McDonald 管理着 IBM Cognos 软件组合中以 IT 为焦点的特性、共享服务和基础设施技术。凭借 11 年的工作经验,Greg 现在负责应用程序生命周期和内容管理器以及到 Cognos 平台的一般升级。



Amrita Sasane, 高级软件工程师, IBM

Amrita Sasane 拥有六年半质量保证(软件测试)经验,其中包括三年 LCM 产品测试经验,目前负责领导 QC 工作和自动化。



Niraj Modi, 软件开发人员, IBM

Niraj Modi 拥有 7 年多使用 Java/J2EE 和开源技术进行产品开发的经验,最近三年负责领导 LCM 开发工作。



Amit Nagar, 软件开发人员, IBM

Amit Nagar 拥有 7 年多关于 Java/J2EE 领域的 IT 从业经验,担任了三年左右 LCM 产品开发技术负责人职务,还从事各种开发相关活动。



Mrunal Lohar, 助理软件工程师, IBM

Mrunal Lohar 是一名助理软件工程师,从事 IBM Cognos Lifecycle Manager 的服务器端和 GUI 开发。她在 Cognos Group 工作了两年半。



2011 年 11 月 21 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

Lifecycle Manager 是一个独立应用程序,在安装和配置后,就会运行自己的 Tomcat 应用程序服务器实例。Lifecycle Manager 拥有一个基于 Web 的 UI,因此无需访问物理机器即可实现访问该 UI。有这样一种情况:Lifecycle Manager 安装在用户没有本地访问权的服务器或机器上。在默认情况下,Lifecycle Manager 的 UI 是没有受到保护的,这意味着,只要知道默认 URI 和默认端口,用户就可以查看此前由别人执行的 Cognos BI 内容。

参阅标题为 “安装和配置 Lifecycle Manager 以获得最优结果” 的文章或 Lifecycle Manager 用户指南详细了解如何更改 Lifecycle Manager 的默认端口。

适用范围

本文内容适用于 Lifecycle Manager 10.1。Lifecycle Manager 是一个只适用于 Windows 的应用程序。它可以与 ReportNet 1.1 MR3+、Cognos 8.2.x、8.3.x、8.4.x、8.4.1 和 Cognos 10.1.x 协同使用。


实现安全性

本文假定您已了阅读了文章 “安装和配置 Lifecycle Manager 以获得最优结果” 并且已安装和配置Lifecycle Manager,该 Lifecycle Manager 正在运行,并可通过以下 web URI 进行访问:http://localhost:4797/LifecycleManager/10.1/index.html。也可以通过服务器名访问 Lifecycle Manager,只需将 URI 中的 "localhost" 替换为机器名或 IP 地址即可。

示例:

http://<server_name>:4797/LifecycleManager/10.1/index.html
http://<server_IP>:4797/LifecycleManager/10.1/index.html

为了实现此实践,要对 Lifecycle Manager 文件进行编辑。

备份 Lifecycle Manager 安装目录:停止 Lifecycle Manager,使用您公司首选的方法创建一个目录结构备份。这样在需要的时候就可以恢复原始 Lifecycle Manager 目录结构和文件。

停止 Lifecycle Manager

首先,使用以下三种技术的其中一种来停止 Lifecycle Manager。

  • 从 Windows 开始菜单,导航到 Lifecycle Manager 程序快捷方式,并选择 "IBM Cognos Lifecycle Manager Shutdown"。
  • 使用 Windows Explorer 导航到 Lifecycle Manager 安装目录,然后向下导航到 bin 目录,即 ..\LIFECYCLE MANAGERPatched\LifecycleManager\bin。在这里执行批文件 shutdown-um.bat。
  • 关闭其中正在运行 Lifecycle Manager 的命令窗口。

编辑 web.xml

  1. 编辑位于 "<LIFECYCLE MANAGER_DIR>\webapps\LifecycleManager\WEB-INF" 下的 web.xml 文件,在 </welcome-file-list> 和 </webapp> 之间添加以下代码段。
    <login-config>
         <auth-method>BASIC</auth-method>
         <realm-name>UserDatabase</realm-name>
    </login-config>
    <security-role>
         <description>
              The role that is required to log in to the Lifecycle Manager Application
         </description>
         <role-name>Lifecycle Manageruser</role-name>
    </security-role>
    <security-constraint>
         <web-resource-collection>
              <web-resource-name>Lifecycle Manager</web-resource-name>
              <description>Security constraint for entire Lifecycle Manager application
              </description>
              <url-pattern>/*</url-pattern>
              <http-method>POST</http-method>
              <http-method>GET</http-method>
         </web-resource-collection>
         <auth-constraint>
              <description>Constraint for Lifecycle Manager</description>
              <role-name>Lifecycle Manageruser</role-name>
         </auth-constraint>
         <user-data-constraint>
              <description>SSL not required</description>
              <transport-guarantee>NONE</transport-guarantee>
         </user-data-constraint>
    </security-constraint>
  2. 保存文件。

编辑 server.xml

  1. 在下面的代码行之后:
    <Server port="4799" shutdown="SHUTDOWN" debug="0">

    在位于 "<LIFECYCLE MANAGER_DIR>\webapps\LifecycleManager\WEB-INF" 下的 server.xml 文件中,添加下面的代码行:
    <GlobalNamingResources>
         <!-- Editable user database that can also be used by
              UserDatabaseRealm to authenticate users
         -->
         <Resource name="UserDatabase" auth="Container"
                   type="org.apache.catalina.UserDatabase"
                   description="User database that can be updated and saved"
                   factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                   pathname="conf/tomcat-users.xml" />
    </GlobalNamingResources>
  2. 保存文件。
  3. 在 <Engine name="Standalone" defaultHost="localhost" debug="0"> 之后添加以下代码行:
    <!-- This Realm uses the UserDatabase configured in the global JNDI
         resources under the key "UserDatabase".  Any edits
         that are performed against this UserDatabase are immediately
         available for use by the Realm.  -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
        resourceName="UserDatabase"/>
  4. 保存文件。

编辑文件 tomcat-users.xml

  1. 在 <LIFECYCLE MANAGER_DIR>\tomcat\conf 目录中的 tomcat-users.xml 文件的 <tomcat-users> 之后添加以下代码行:
    <role rolename="Lifecycle Manageruser"/>
    <user username="user1" password="user1" roles="Lifecycle Manageruser"/>
  2. 保存文件。

注意:您可以使用任意用户名和密码添加任意数量的用户。这里已添加了 user1,只作为一个示例。添加的所有用户都必须拥有 "Lifecycle Manageruser" 角色,以便能够访问 LIFECYCLE MANAGER。请参阅第 4 节,了解如何添加更多用户。

重启 Lifecycle Manager

  • 从 Windows 开始菜单,导航到 Lifecycle Manager 快捷方式,并选择 "IBM Cognos Lifecycle Manager Startup"。
  • 使用 Windows Explorer 导航到 Lifecycle Manager 安装目录,然后向下导航到 bin 目录,即 ..\LIFECYCLE MANAGERPatched\LifecycleManager\bin。在这里执行批文件 startup-um.bat。

实现前后的 UI 示例

实现该最佳实践之前,访问 Lifecycle Manager UI 将会立即看到如图 1 所示。直接将用户带到 UI,用户可以打开任何项目。

图 1. Lifecycle Manager Welcome 屏幕

实现这个最佳实践之后,当用户访问 Lifecycle Manager UI 时,首先会看到一个对话框,提示输入用户ID/密码,如图 2 所示。正确输入后,用户就能访问这个 Lifecycle Manager 实例中的项目。

图 2. 请求输入用户 ID 和密码的 Microsoft Windows 安全窗口

添加其他用户

要向 Lifecycle Manager 添加其他用户,继续编辑 tomcat-users.xml 文件,添加以下条目 <user username="user1" password="user1" roles="Lifecycle Manageruser"/>;但是要用新的用户名和密码更新它。请参见示例 1 添加第二个用户。

示例 1:

<role rolename="Lifecycle Manageruser"/>
<user username="user1" password="user1" roles="Lifecycle Manageruser"/>
<user username="user2" password="user2" roles="Lifecycle Manageruser"/>

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=776130
ArticleTitle=IBM Cognos 最佳实践: 保护 Lifecycle Manager Web URI
publish-date=11212011