Websphere 入门基础 第六课 WebSphere应用服务器

 6.1 基本特性
   6.2 安装与配置
   6.3 定制配置
   6.4 部署Servlet
   6.5 连接管理器
   6.6 用户简要表
   6.7 会话跟踪
   6.8 安全性

  IBM WebSphere应用服务器(简称WebSphere应用服务器)是一个Web应用服务器,它提供了增强的Servlet API和Servlets管理工具,并集成了JSP技术和数据库连接技术。
  
6.1 基本特性
  WebSphere应用服务器使您能够为Servlet 的开发实现 “一次写成,各处使用”的目的。该产品包括一个基于 Java 的 Servlet 引擎,独立于 Web 服务器和它所基于的操作系统。WebSphere应用服务器提供了服务器插件的选项,与大多数流行的应用程序设计接口(API)兼容。所支持的 Web 服务器有:
 IBM HTTP 服务器
 Apache Server
 Domino
 Lotus Domino Go Webserver
 Netscape Enterprise Server
 Netscape FastTrack Server
 Microsoft Internet Information Server
  除了 Servlet 引擎及插件外,WebSphere应用服务器还提供:
  1. JavaSoft Java Servlet API 实现,以及这些 API 的扩展和附加。
  2. 示例和文档,示例 Servlet 和 Web 站点应用程序演示了简单和高级技术。联机和可打印文档供您快速入门,并帮助掌握服务器高级功能的使用演示基本类及其扩展的示例应用程序。
  3. WebSphere应用服务器的管理器,使用图形界面,易于:
  (1) 为装入本地和远程的 Servlet 设置选项
  (2) 设置初始化参数
  (3) 管理 Servlet
  (4) 指定 Servlet 别名
  (5) 创建 Servlet 链和过滤
  (6) 启用轻量级目录访问协议(LDAP)目录支持
  (7) 记录 Servlet 消息
  (8) 启用 JVM 调试
  (9) 监控 WebSphere应用服务器 使用的资源
  (10) 监控已装入 Servlet、活动 Servlet 会话和 JDBC 连接
  (11) 控错误、事件、异常情况和日志输出
  (12) 创建转储和数据快照
  (13) 动态地启用和禁用跟踪
  4. 缓存和再使用与 JDBC-从属数据库连接的连接管理功能。当一个 Servlet 需要数据库连接时,它
可从可用连接的缓冲池获得,从而消除了为每个请求打开一个新连接的所需花费的系统开销。
  5. 附加的 Java 类,遵循 JavaBeans 规范,允许程序员访问 JDBC-从属数据库。当隐藏使用关系数
据库的复杂度时,这些数据访问 Bean 可提供增强功能。它们可用于可视集成开发环境中。
  6. JSP的动态页面内容支持。JSP 技术使您能够通过服务器端脚本生成动态 Web 页面。其结果是将
呈示逻辑(例如,定义 Web 站点结构和外观的 HTML 代码)从业务逻辑(例如,访问数据库以获得要显示在 Web 站点上的信息的 Java 编码信息)中分隔出来。灵活性方面,JSP 文件可包括任何直接插入的 Java 的组合: 标记、NCSA 标记和 JavaBean。
  7. 启用 LDAP(轻量级目录访问协议)支持的目录服务。
  8. 用于集成WebSphere应用服务器和Web服务器(如Apache Server) 到Tivoli 管理环境(Tivoli
Management Environment)以获得分布式监控和操作的模块和命令行界面。Tivoli 模块并不与WebSphere应用服务器一起发行,请访问Web 站点(
http://www.software.ibm.com/webservers/appserv)以获得更多信息。
  WebSphere应用服务器对JSP的支持是通过JSP处理器来实现的。在 Web 服务器上安装 WebSphere应用服务器时,Web 服务器的配置被设置成将对 JSP 文件(即文件扩展名为 .jsp)的 HTTP 请求传递至 WebSphere应用服务器。WebSphere应用服务器配置则被设置成将 JSP 文件传递至其 JSP 处理器(pageCompile)。
  JSP 处理器对每一个 JSP 文件创建并编译 Servlet。该处理器还为每个 JSP 文件产生两个文件:
  (1) java 文件:包含可用于 Servlet 的 Java 语言代码;
  (2) class 文件:编译过的 Servlet。
  JSP 处理器把 .java 和 .class 文件放在目录 servlets/pagecompile/JSP_file_path 下,其中 JSP_file_path 是 JSP 源文件所在的目录路径。例如,若JSP 文件在WebSphere/AppServer/samples/Web
Bank 目录下,则.java 和.class 文件就在WebSphere/AppServer/servlets/pagecompile/WebSphere/App Server/samples/WebBank 目录下。.java 和 .class 文件的文件名相同。处理器使用了命名约定,该命名约定包括将下划线字符和后缀添加到 JSP 文件名中。例如,如果 JSP 文件名是 login.jsp,则生成的文件为 _login_xjsp.java 和 _login_xjsp.class。
  如同所有的 Servlet,由 JSP 文件生成的 Servlet 是 javax.servlet..HttpServlet的子类或子孙类。如果 Servlet 类是软件包的一部分,则 Servlet Java 代码包含了用于一些必需类和软件包语句的导入语句。如果 JSP 文件包含 JSP 语法(例如指令和 scriptlets),则 JSP 处理器会将 JSP 语法转换成等价的 Java 代码。如果 JSP 文件包含 HTML 标记,则处理器添加 Java 代码,以使 Servlet 能一个接一个字符地输出 HTML。
  
6.2 安装与配置
  对于任何软件,都需要一些计划和具体步骤以确保成功安装。对于安装与配制 WebSphere应用服务器及其组件也是如此。下面介绍在Windows NT 上安装与配置WebSphere应用服务器
  1.内存和软件要求
  (1) 内存:至少 128 MB RAM,建议 256 MB。WebSphere应用服务器安装光盘包括 Java 开发工具(JDK)。
  (2) 操作系统:Microsoft NT 版本 4.0 与服务包3 。
  (3) Web 服务器:WebSphere应用服务器需要下列服务器之一。
 IBM HTTP 服务器版本 1.3.3 Windows NT 版(WebSphere应用服务器安装光盘包括IBM HTTP 服
务器)
 Apache Server 版本 1.3.2 Windows NT 版
 Domino 版本 5.0 Windows NT 版
 Lotus Domino Go Webserver 版本 4.6.2.5 Windows NT 版
 Microsoft Internet Information Server 版本 3.x 和 版本 4.0 Windows NT 版
 Netscape Enterprise Server 版本 3.01 和 版本 3.51 Windows NT 版(建议使用版本 3.5.1)
 Netscape FastTrack Server 版本 3.01 Windows NT 版
  (4) Java 开发组件(JDK):建议使用与 WebSphere应用服务器一起提供的 JDK1.1.6。
  (5) Java servlet API:WebSphere应用服务器包括 JSDK 版本 2.0 或更高版本。
  (6) Web 浏览器:WebSphere应用服务器的管理器是用来管理 servlet 的用户界面。要运行管理器,
需要 appletviewer 或支持 JDK1.1 的浏览器,例如:
 Netscape Navigator 4.06 或 4.0.7,包括集成的 JDK 1.1 支持并由以下 Web 站点提供:
http://developer.netscape.com/software/jdk/download.aspl
 或带有修正包的 Microsoft Internet Explorer 4.01 或更高版本。
 Sun HotJava 1.1 或更高版本
  一些旧的浏览器不能够正确地处理启用本机语言支持的文本。如果在用户界面上看到外来字符,例如“sEnable”,而不是“Enable”,可以通过升级浏览器校正。
  2.安装Web服务器
如果计划安装 IBM HTTP 服务器,请在安装 WebSphere应用服务器之前安装它。可以从 WebSphere应用服务器安装光盘安装 IBM HTTP 服务器。安装WebSphere应用服务器会更改 Web 服务器 httpd.conf 文件。如果安装 Web 服务器是在安装 WebSphere应用服务器之后安装的,将不会进行更改,并且 WebSphere应用服务器将不能够正确运行。安装 IBM HTTP 服务器之后,需要一些配置以启用 SSL 支持。请参阅 IBM HTTP 服务器文档以获得指示信息。
  对于计划安装其它的Web 服务器(如Apache Server),也请在安装 WebSphere应用服务器之前安装它。理由同上。
  3.安装 WebSphere应用服务器之前
  安装WebSphere应用服务器版本 2.0之前,请卸装所有以前的版本。卸装之前,备份 WebSphere应用服务器版本 1.x 文件。
  (1) 文件备份
  从Windows NT 卸装以前版本的 WebSphere应用服务器之前,确保要移植的文件已经或者将要保存。安装 WebSphere应用服务器版本 2.0 时显示出的图形用户界面备份 WebSphere应用服务器目录中的文件,包括类、领域、Servlet、属性文件,其中,属性文件包括servlet.properties、admin_port.properties、rules.properties、jvm.properties、aliases.properties、connmgr.properties、userprofile.properties。如果有文件驻留在这四个目录之外(例如,如果在 WebSphere应用服务器 安装中创建自己的目录),请在安装 WebSphere应用服务器 版本 2.0. 之前,在 WebSphere应用服务器 安装之外的位置备份文件。
  此处包括移植进程的第一部分。第二部分必须在安装 WebSphere应用服务器版本 2.0 之后执行。请参阅有关文档以获得详细信息。
  (2) 卸载前一版本
  对于 Windows NT,使用开始 --> 控制面板中的添加/删除选项,或从开始 --> 程序 --> IBM WebSphere --> WebSphere应用服务器版本1.x 卸装。
  注意:当已安装了某版本的 WebSphere应用服务器,它将复制Web 站点配置文件作为备份文件,然后修改原始配置文件。当使用 Web 服务器时这个已被修改过的文件就成为活动的配置文件。当卸装 WebSphere应用服务器时,不会恢复以前的配置文件,它仍然是备份文件。为了使这些设置再次活动,必须将它们从备份文件转换为活动的 Web 服务器配置文件。
  另外,需要清除 CLASSPATH。如果在 CLASSPATH 中已经有来自以前版本的 WebSphere应用服务器的信息,安装版本2.0之前请删除这些信息。对于在 Windows NT 上使用Go Webserver 的Web服务器来说,当安装 WebSphere应用服务器时能自动卸装Go Webserver 上的 Java 支持。其它的请查阅有关文档。
  4.安装WebSphere应用服务器
  在即将安装 WebSphere应用服务器之前,请确保已经:
  (1) 备份所有未通过安装程序自动备份的文件(从以前的 WebSphere应用服务器进行安装)。
  (2) 安装您计划使用的 Web 服务器。Web 服务器必须在安装 WebSphere应用服务器之前安装。
  (3) 如果 Web 服务器正在运行,请停止它。
  注意:在WebSphere应用服务器的安装期间,如果指定使用 IBM HTTP 服务器或 Apache Server,将提示您确认 Web 服务器 httpd.conf 文件的位置。
  安装在 Windows NT 上,插入 WebSphere应用服务器安装光盘,转至以 Windows NT 操作系统命名的子目录,运行可执行安装程序(setup.exe)。一系列面板将指导您完成安装。
  5.配置 WebSphere应用服务器
  下面介绍启用 WebSphere应用服务器和它的组件以使之协同工作的必要配置。完成这些任务之后,WebSphere应用服务器便能够主要通过使用缺省设置运行所有功能。
  (1) 配置 Apache Server
  如果使用Apache Server作为Web服务器,请确保httpd.conf 文件包含此行:AddModule mod_app_server.c。
  (2) 使用数据库。
  要确保 WebSphere应用服务器 维护和使用与关系数据库(如 Oracle 或 DB2)的连接,请添加数据库.zip 文件到位于文件 /properties/bootstrap.properties 中的 java.classpath 属性,或使用 WebSphere应用服务器的管理器界面的 Java 引擎页面来指定文件。同样,确保 java.classpath 包含用于数据库连接的有效的驱动程序。请查看产品 Web 站点上的 WebSphere应用服务器 版本 2.0 自述文件可得到附加的技巧。
  (3) 运行模式
  ose.mode 属性控制 WebSphere应用服务器是作为 Web 服务器的一部分(进程内),还是在独立模式下运行(进程外)。该属性位于 /properties/bootstrap.properties 文件中。对于所有的服务器,ose.mode 缺省值是 out。如果使用 Apache Server 或 IBM HTTP 服务器,必须设置 ose.mode 属性为 out,这意味着 WebSphere应用服务器在独立模式下运行。对于其它 Web 服务器,可以(但不建议)更改 ose.mode 为 in 并且作为 Web 服务器的一部分运行 WebSphere应用服务器。 无论何时如有必要请复位 ose.mode。例如,如果从作为 Webserver 一部分运行的 Netscape Enterprise Server (ose.mode=in)转换为 IBM HTTP 服务器(要求 ose.mode=out),不要忘记在运行 IBM HTTP 服务器之前,将 ose.mode 属性更改为 out。
  与手工编辑包含 ose.mode 属性的 bootstrap.properties 文件相对比,管理器界面的 Java 引擎页面提供了一个简单的方法来锁住该属性值。 Java 引擎页面提供了一个可用来指示是以 Web 服务器的一部分(ose.mode=in)或以独立模式(ose.mode=out)运行 WebSphere应用服务器的单选按钮。请参阅有关文档学习如何访问管理器。
  ose.mode 的值影响。作为 Web 服务器一部分运行 WebSphere应用服务器为Servlet 和其它应用程序提供较高的性能,但安全性较差。作为 Web 服务器的一部分运行 WebSphere应用服务器,允许当关闭 Web 服务器时 WebSphere应用服务器自动停止。在独立模式下运行 WebSphere应用服务器需要其它步骤。 请参有关文档获得更多的详细信息。
  6.启动和停止 WebSphere应用服务器
  当启动 Web 服务器时WebSphere应用服务器自动启动。WebSphere应用服务器的管理器,是通过 Web 浏览器访问的,为查看和更改 WebSphere应用服务器的设置和性能提供了界面。请参阅定制配置设置。
如果将 WebSphere应用服务器 作为 Web 服务器的一部分运行,当关闭 Web 服务器时 WebSphere应用服务器 将自动停止。如果以独立模式运行,WebSphere应用服务器不会自动停止。如果使用 Apache Server 或 IBM HTTP 作为Web服务器, WebSphere应用服务器必须在独立模式下运行。
  当在 Windows NT 上进程外运行 WebSphere应用服务器 时,停止 Web 服务器之后,请停止 WebSphere Servlet 服务以停止 WebSphere应用服务器。从开始 --> 设置 --> 控制面板 --> 中选择 WebSphere Servlet 服务,并按“停止”按钮。
  7.安装的检查和故障寻找
  要验证 WebSphere应用服务器已安装好并正确配置,可调用 WebSphere应用服务器提供的 snoop servlet。使用 Web 浏览器打开 servlet URL: http://your.server.name/servlet/snoop。Snoop Servlet 应回送客户机发送的 HTTP 请求及 servlet 的初始化参数。SnoopServlet 和其它 servlet 的代码位于/servlets 目录。如果Servlet失败,请尝试下列步骤:
  (1) 如果已通过手工编辑 .properties 文件或使用 WebSphere应用服务器的管理器界面更改了任何 WebSphere应用服务器的配置设置,请检查这些文件以确保未引入任何非法的或不正确的值。特别要检查 /properties/bootstrap.properties 文件。文档中心包含关于手工配置这些属性的资料和关于每一配置的可接受性及缺省值的讨论资料。
  (2)为Web服务器打开本地日志和跟踪。找到WebSphere应用服务器bootstrap.properties文件(在 /properties目录中)。设置ose.trace.enabled属性为true,设置ose.trace.to.webserver 属性为true。停止 Web 服务器并重启动。记住如果 WebSphere应用服务器运行在独立模式,当停止 Web 服务器时它不会相应停止。检查 Web 服务器出错日志及 WebSphere应用服务器 /logs 目录下的日志以查看错误。
  (3) 启用调试控制台并重新启动 Web 服务器。WebSphere应用服务器的调试控制台为收集和查看跟踪及监控数据提供了集中场所。例如,从调试控制台,可以作为一组启动和停止列在收集和监控服务器数据中的监控程序。调试控制台的服务器控制台标签允许查看 servlet 的 stdout 和 stderr 流。缺省情况下,调试控制台未启用。启用该控制台。在 WebSphere应用服务器 debug.properties 文件中设置 debug.server.console.enabled 属性为true并重新启动 Web 服务器使得改动生效。或者,运行 http://your.server.name/servlet/DebugConsoleServlet,启用调试控制台。在 Windows NT 上,要成功地查看调试控制台,必须配置 Windows NT 以允许一个或多个服务与 Windows 桌面交互。如果使用作为 Windows NT 服务运行的 Web 服务器:
 选择开始 --> 设置 --> 控制面板 --> 服务。
 选择 Web 服务器相应的服务。
 单击启动按钮。
 在结果对话框中,选择允许服务与桌面交互的复选框。
 重新启动 Web 服务器以使更改生效。
  对于 Microsoft Internet Information Server,对与 Web 服务器相关的每个服务(如 Web 发布和 FTP服务),执行以上过程。这些服务必须允许与 Windows NT 桌面交互。如果 WebSphere应用服务器运行时未启动任何 Web 服务器相关的进程,则为 WebSphere Servlet 服务执行以上过程,允许服务与桌面交互。
  8.从 版本 1.x 移植到版本 2.0
  在安装 WebSphere应用服务器之后,通过下列步骤完成移植:
  (1) 请检查用户 Servlet、领域、类、JavaServer 页面(JSP)和其它在第一部分的移植过程中保存的与编程相关的文件已经被安放在它们所属的 WebSphere应用服务器 版本 2.0 目录中。安装程序应已为您完成了这些步骤。如果已备份了您创建在 WebSphere应用服务器 安装中用户文件或目录,请将它们安放在现在的新安装处。
  (2) 传输 jvm.properties 文件设置到 WebSphere应用服务器版本 2.0 bootstrap.properties 文件。
 对于 WebSphere应用服务器 类路径,仅移植用户指定的 类路径部分到 bootstrap.properties 中 –
不要传输 JVM 库或 WebSphere应用服务器 版本 1.x .jar 文件路径,因为这些是 WebSphere应用服务器 版本 1.x 缺省配置的一部分,而您未曾自行设置过它们。换言之,只传输您添加的部分类路径。不要除去 WebSphere应用服务器 版本 2.0 缺省类路径;简单地加入 版本 1.x 项目即可。
 对于 Java 库路径和路径,也只移动用户指定的部分。不要除去 WebSphere应用服务器 版本 2.0
缺省的库路径和路径设置;简单地加入 版本 1.x 项目即可。
 对于其它属性,仅当它们有定义在 bootstrap.properties 中的对应者时才移植。
  要使用 WebSphere应用服务器的管理器来管理在安装 WebSphere应用服务器之前已存在于 Web 服务器中的 Servlet,必须首先移植这些 Servlet。为了移植现有的 Servlet,将 Servlet 从它们目前的位置移动到 /servlets 目录。WebSphere应用服务器 监控该目录并且当 Servlet 更改时自动重新装入 Servlet。如果有 Servlet 在其它目录中并且不想将它们移动到 /servlets 目录,可使用管理器界面中 Java 引擎页面的“可重装 Servlet 类路径”字段来指定其余要监控的目录。使用 WebSphere应用服务器中的配置页面来重新配置以前的Servlet 参数。请参阅定制配置设置。

  6.3 定制配置
  本节介绍如何启动和使用 WebSphere应用服务器的管理器(一个图形界面)为 Servlet 活动和 WebSphere应用服务器的组件定制基本设置参数。
  1.启动 WebSphere应用服务器的管理器
  要启动 WebSphere应用服务器的管理器,在 Web 浏览器中输入 URL:http://your.server.name:9527/。其中 your.server.name 是主机的全限定名。注意:如果在安装了 WebSphere应用服务器的同一机器的浏览器中启动 WebSphere应用服务器的管理器,使用 http://localhost:9527/ 以获得更高性能。
  管理器启动并显示登录页面。若是首次登录至管理器,请使用 admin 作为登录用户标识符和口令。单击“确定”。为安全起见,应该更改登录口令。要运行管理器,需要支持 Java 开发组件(JDK)1.1.6 的 appletviewer 或浏览器。请参阅准备安装 WebSphere应用服务器中的软件要求,查看选项。
  2.使用 WebSphere应用服务器的管理器
管理器左边的浏览区域允许: 为不同 WebSphere应用服务器 组件定制设置、配置 Servlet 和设置别名及过滤、建立和维护安全性、收集和监控 WebSphere应用服务器、连接和 Servlet 数据。
  (1) 定制基本属性
  在使用 WebSphere应用服务器管理 Servlet 之前,请为 Servlet 活动和 WebSphere应用服务器的组件属性配置基本设置参数。在管理器浏览区域,单击“设置”显示可定制不同设置的项目页面。
 管理页面:更改登录至管理器的用户标识符和口令,并为管理器指定新的端口号。
 连接管理页面:设置连接缓冲池,从而减少用于维护与数据服务器(如 IBM DB2 关系数据库)的连接所花费的资源。
 目录管理页面:为目录服务器指定设置,允许从 Web 服务器、操作系统、WebSphere应用服务器 及其它软件产品的中央位置管理安全性数据。
 Java 引擎页面:指定 Java 编译器设置并指出 WebSphere应用服务器 是作为 Web 服务器一部分运行以获得较高性能,还是作为独立模式运行以获得更好安全性。
 会话跟踪页面:指定维护用户会话(来自于相同浏览器的相关用户请求系列)的状态信息的设置。
 用户简要表文件页面:指定维护关于 Web 站点访问者永久信息的设置。
 虚拟主机页面:指定 Servlet 的替代路径,允许 Web 服务器根据 Servlet 请求期间客户机指定的不同域提供不同文档。
  (2) 配置 Servlet、别名和过滤
  放置在/servlets 目录下的 servlet 在请求时自动装入和重新装入(如果更新过)。也可以使用 WebSphere应用服务器 管理器,通过初始化参数和创建 Servlet 别名和过滤更为直接地管理 Servlet。要管理 Servlet,单击管理浏览区域中的 Servlet 并选择页面:
 配置页面:为个别 Servlet 定义配置信息和初始化参数,如关联的类文件,是否在启动时装入 Servlet 以及 Web 服务器是否从远程装入 servlet。
 别名页面:指定路径映射规则,允许用户输入快捷 URL 来调用特定 servlet。
 过滤页面:联系 Servlet 和 MIME-类型,从而每当生成一个特定的 MIME-类型响应时,调用一个特殊的 Servlet。
  (3) 维护安全性
  通过定义用户、组、资源和存取控制表建立和维护安全性。通过为每个用户、组和资源指定特定访问设置,可精确地控制如何使用服务的资源,及由谁使用。单击管理器浏览区域中的安全性显示这些页面::
 用户页面:指定允许谁访问由 WebSphere应用服务器 提供的 Web 页面及其它资源,如 servlet。
 组页面:将用户与命名列表相关联,允许同时对整个组赋予访问权限。
 存取控制表页面:为用户和组指定访问许可。
 资源页面:为特定目录、文件和 WebSphere应用服务器 上的 servlet 指定安全性参数。
  (4) 收集和监控服务器数据
  通过查看日志文件监控 Servlet 活动、已装入的 Servlet 的状态和资源的实时使用。单击监视器浏览区域中的“服务器执行分析”显示页面列表:
 JVM 调试页面:启用 JVM 调试和指定调试设置。
 事件页面(在日志文件下):监控事件日志中收集的信息 。
 出错页面(在日志文件下):监控出错日志中收集的信息。
 活动会话页面(在监控下):监控关于 Web 服务器上当前活动的用户会话的信息,包括关于个别会话的信息和所有活动会话的摘要信息。
 数据库缓冲池连接页面(在监控下):监控连接缓冲池信息,包括关于缓冲池和个别连接的统计数字。
 转储面板页面(在监控下):指定何时及在何处创建 Servlet 转储和活动快照。
 异常情况状态(在监控下):监控来自于 Java 引擎和 servlet 的异常数据 。
 已装入 Servlet 页面(在监控下):监控个别 servlet 的状态和统计数字。
 日志输出页面(在监控下):查看事件或出错日志输出的记录。
 资源使用页面(在监控下):监控服务资源如何被使用,包括内存、请求句柄对象缓冲池、服务请求和服务响应时间。
 跟踪页面:监控跟踪数据,通常由 IBM 服务人员提出请求。
 注销:要快速注销,单击管理器浏览区域中的“注销”,返回管理器登录屏幕。
  
6.4 部署Servlet
  在WebSphere应用服务器上部署 Servlet需要四个步骤:编译 Servlet 或 Web 应用程序、将类文件放到 WebSphere应用服务器上、将相关的 HTML、JSP 和 SHTML 文件放到WebSphere应用服务器上、用WebSphere应用服务器的管理器来配置初始化参数,并设置其它选项。
  1.编译 Servlet 和 Web 应用程序
  编译 Servlet,有下列注意事项:
  (1) 确保系统 CLASSPATH 环境变量中包括 JDK classes.zip 文件和相应的 WebSphere应用服务器 JAR 文件。 lib 目录中有几个 WebSphere应用服务器 JAR 文件。根据所需导入的类的不同,可能还需要将那些未列在该示例中的 JAR 文件包括在内:
  如果使用的是 Windows NT,请分别输入下列命令(在同一行中):
  set CLASSPATH=.;JAVA_HOME/lib/classes.zip;
  applicationserver_root/lib/ibmwebas.jar;
  applicationserver_root/lib/jst.jar;applicationserver_root/lib/jsdk.jar;
  applicationserver_root/lib/xml4j.jar;
  applicationserver_root/lib/databeans.jar;%CLASSPATH%
  
(2) 用下列命令将 PATH 环境变量设置成包括 java/bin 目录的变量:
  对于 Windows NT,该命令为:set PATH=JAVA_HOME/bin;%PATH%
  (3) 通过发出下列命令来测试相应的 Java Development Kit (JDK) 是否在路径中:
  java -version
  该命令应该返回 JDK 版本的状态消息。
  (4) 通过发出下列命令来编译 Servlet
  javac filename.java
  2.将类文件放到 WebSphere应用服务器上
  缺省情况下,WebSphere应用服务器在 Servlet 根目录 applicationserver_root/servlets 下查找 Servlet 类文件。请将编译过的 Servlet 类文件复制到该目录下。要从替代 Servlet 目录中装入 Servlet,请配置可重装 Servlet 目录。要从远程系统中装入 Servlet,请在用 WebSphere应用服务器的管理器配置 Servlet 时,指定该远程系统。
  (1) 如果 Servlet 在软件包中,则将软件包结构镜像成 servlet/ 或可重装 Servlet 目录下的子目录。例如,如果 Servlet SignonServlet.class 和 AccountBean.class 在名为 WebBank 中的软件包中,请将 Servlet 放在目录 servlet/WebBank下。
  (2) 如果Servlet导入您所开发的非Servlet类,建议将那些类复制到applicationserver_root/servlets下。
  根据jvm.properties 文件中的设置,将决定所有的 Servlet 标准输出是到 applicationserver_root/logs/ncf.log 文件还是 Java 控制台窗口。请参阅 启用 Java 控制台中的有关的说明。
  3.将HTML、JSP和SHMTL文件放到WebSphere应用服务器上
  将与Servlet有关的HTML、JSP 和 SHMTL文件复制到 Web 服务器的 HTML 文档根目录 server_root/HTML_directory 下。该目录是由特定服务器配置(传递、别名和虚拟主机规则的设置)所决定的。
  4.配置 Servlet
  若要从远程系统上的 JAR 或 SER 文件装入 Servlet,或设置初始化参数,请使用 WebSphere应用服务器的管理器来配置 Servlet 或使用XML Servlet 配置。
  
6.5 连接管理器
  连接管理器使您可以控制并减少由 Web 应用程序使用的资源。相对于非 Web 应用程序,基于 Web 的应用程序对数据服务器的访问会导致更高的和不可预料的系统开销,这是由于 Web 用户更为频繁的连接和断开。通常连接与断开连接所用的资源大于交互所用的资源。由于 Internet 的“冲浪”性质,用户的交互过程一般都较短。通常,公司外(Internet,而非 intranet)的用户会将使用卷变得很大,并难以预料。连接管理器通过建立用户 Servlet 可用的连接缓冲池将连接的系统开销分摊给多个用户请求。换言之,每个用户请求仅占用连接/断开连接所用系统开销成本的一小部分。在使用初始资源建立缓冲池中的连接后,其余连接/断开连接所用的系统开销就不大了,因为这只是重复使用已有的连接而已。
  Servlet 以如下方式使用连接缓冲池:当一个用户通过 Web 向 Servlet 请求时, Servlet 从缓冲池使用一个已有的连接,这意味着用户请求不会引起数据服务器的连接系统开销。当满足请求时,Servlet 将连接返回至连接管理器缓冲池供其它 Servlet 使用。因而用户请求不会引起数据服务器的断开连接的系统开销。
  连接管理器还使您能控制到数据服务器产品的并发连接数。当数据服务器的许可证协议限定用户数量时,这一特性是非常有用的。可以为数据服务器创建一个缓冲池,并将连接管理器缓冲池的“最多连接数”参数设成数据服务器产品许可证中限定的最大用户数。如果用其它程序而不用连接管理器连接到数据服务器,则不能保证该方法有效。
  1. 连接管理器结构
  连接管理器维护一个连接到特定数据服务器产品处于打开状态的数据服务器缓冲池。每个数据服务器可以有一个或多个等同的或非等同的缓冲池。连接管理器的一个运行实例可以支持多个数据服务器。图6-1说明了在连接管理器与一个正在连接管理器的连接缓冲池中寻找可使用的连接的 Servlet 之间的典型交互作用。
  (1) 当第一个 Servlet 试图与连接管理器通信时,由WebSphere应用服务器装入运行在WebSphere应用服务器下的连接管理器。只要WebSphere应用服务器在运行,连接管理器就一直被装入。
  (2) WebSphere应用服务器将用户请求传递给一个 Servlet。
  (3) Servlet 用连接管理器使用的方法从缓冲池中请求一个连接。
  (4) 缓冲池给 Servlet 分配一个连接。
  (5) Servlet 使用连接与数据服务器直接对话,这一过程中使用的是特定数据服务器的标准 API。
  (6) 数据服务器通过与 Servlet 的连接返回数据。
  (7) 当 Servlet 结束与数据服务器通信时,Servlet 把连接归还给连接管理器缓冲池,以供其它
Servlet 使用。
  (8) Servlet 通过WebSphere应用服务器向用户发回响应。
  在 Servlet 请求一个连接时,缓冲池中不一定有可用的连接。在这种情况下,连接管理器直接与数据服务器通信。连接管理器将:
 请求一个新的连接(参见图6-1中的9 )。
 将连接添加到缓冲池中(参见图6-1中的10)。如果缓冲池中的连接数达到了规定的上限,连接服务器将不会把新的连接加入缓冲池中。
 将新的连接交给 Servlet(参见图6-1中的4)。
  2.性能特性
  为缓冲池创建一个新的连接是一项系统开销很高的任务,新的连接将使用数据服务器上的资源。因此连接管理器尽量用缓冲池中的现有连接来满足 Servlet 的请求。 同时,连接管理器必须尽可能地最小。



图6-1:连接管理器与Servlet 之间的交互

  化缓冲池中的空闲连接,因为这是对系统资源的极大浪费。连接管理器与 Servlet 一同执行这些最小化和最大化任务。对于可选的性能,请适当地设置连接管理器参数。
  连接管理器维护每个连接的验证时间标记、最近使用时间标记和正在使用标志。当某个 Servlet 第一次获得连接时,连接的验证时间标记和最近使用时间标记被设置为当前时间,连接的正在使用标志则被设置为真。
  可将连接服务器配置成从某个 Servlet 中移走一个长时间未使用的连接。这个时间长度是由连接管理器的 “最长周期”参数指定的。如果 Servlet 准备在较长一段时期内使用连接与数据服务器多次通信,可能希望将代码加入 Servlet 中,以便在每次使用连接之前,确认它仍占有这个连接。连接管理器从缓冲池中除去空闲的连接,因为它们会浪费资源。为了确定哪个连接是空闲的,连接管理器将检查连接标志和时间标记,这个操作是通过周期性地获取连接缓冲池信息来实现的:
  (1) 连接管理器查看正在使用连接的最近使用时间标记。如果最近使用时间和当前时间之间的时间差大于“最长周期” 配置参数,则本连接将被认为是一个残留连接,这就表明占有它的 Servlet 已终止或者没有响应。残留连接将被归还给缓冲池以供其它 Servlet 使用,它的正在使用标志被设置为假,且验证和最近使用时间标记被设置为当前时间。
  (2) 连接管理器检查未被任何 Servlet 使用的连接(这些连接的正在使用标志为假)。如果最近使用时间与当前时间的时间差超过了“最长空闲时间”配置参数,将认为本连接是空闲的。空闲连接将被从缓冲池中除去,降至“最少连接数”配置参数指定的较低限定值。
  3.监控连接管理器
  WebSphere应用服务器管理器为名为数据库缓冲池连接的连接管理器提供了一个监控程序。可以使用这些信息来查看如何执行连接缓冲池,并建议对连接缓冲池参数进行可能的更改。可以在更改参数之后对缓冲池执行监控,从而查看缓冲池特性的更改并帮助进一步对缓冲池参数进行调整。可以选择特定缓冲池,以从选择列表中对其进行监控。
  
6.6 用户简要表
  Application Server 含有 com.ibm.servlet.personalization.userprofile 软件包中的类,这些类使维护关于 Web 站点访问者的持久信息和利用这些信息来定制 Web 页面变得更为容易。UserProfile 类包括了访问者的完整名称、邮政地址和电子邮件地址、电话号码等数据成员,并含有用于存储所选的语言、职业和用户定义的组信息的字段。另外,它还含有类属信息、购物手推车和剪贴板(一个 Java 散列表)。这就使您很容易地将其它您选择的对象合并到这些数据中,并将它们作为 UserProfile 类的一部分进行处理。因为这些对象在用户简要表文件的后继实例一直存在,所以它们必须是可串行化的。如果使用了一个 JDBC 数据库,则会将对象存储在数据库中。否则,会将对象作为文件存储。在 Application Server 版本 2.0 中,UserProfile 类使用了数据库连接管理器来维护 JDBC 连接。
  可以使用“用户简要表文件”页面配置 UserProfile 类,该类用于定义和维护有关 Web 站点访问者的信息。UserProfile 类使用连接管理器来维护与 JDBC-从属数据库的连接。用户简要表文件的基本设置如下。
  1. 启用用户简要表文件
  (1) 查看“设置” -> “用户简要表文件”页面。
  (2) 单击“启用”标签。
  (3) 在“是否使用用户简要表文件 ? ”字段中单击“是”。
  (4) 对于“类名”字段,可以使用缺省值“com.ibm.servlet.personalization.userprofile.UserProfile”或为UserProfile类创建的扩展名。
  (5) 单击“保存”按钮。
  2.指定数据库信息
  (1) 查看“设置” -> “用户简要表文件”页面。
  (2) 单击“数据库”标签。
  (3) 指定数据库产品的名称(如 IBM DB2 的 db2)。
  (4) 指定数据库的 JDBC 驱动程序(如 COM.ibm.db2.jdbc.app.DB2Driver)。注意:这包括 Application Server 的 Java 类路径中的驱动程序 .zip 或 .jar 文件(如 DB2 的 db2java.zip)。
  (5) 指定用户简要表文件的数据库名称以存储数据。如果不存在该数据库,将不会创建它。因此,可
以指定现有数据库的名称,或在使用该用户简要表文件之前用该名称创建一个数据库。无需在数据库中创建任何表格。
  (6) 指定数据库的所有者,即创建数据库的用户的标识符。
  (7) 指定保存用户简要表文件数据的数据库表格的名称。无需创建该表格,因为 UserProfile 类会在初始化时创建它。
  (8) 指定用于访问数据库和其表格的用户标识符。
  (9) 指定与用户标识符相关的口令。
  (10) 单击“保存”按钮。
  3.配置连接管理属性
  (1) 查看“设置” -> “用户简要表文件”页面。
  (2) 单击“连接管理”标签。
  (3) 指定要使用的连接缓冲池。
  (4) 指定在“连接超时”指定的时间过后,连接仍不可用的情况下,指定是否等待并再试一次连接(与“连接管理”页面中相同)。
  (5) 单击“保存”按钮。
  UserProfile 类和 Application Server 的其余部分之间的唯一的耦合在于,UserProfile 类和 IBM 的会话实现( IBMSessionData)含有同一个用户名称段,该用户名称段可用于在两个类之间创建一些增效作用。用户简要表文件对象持有关于用户的信息,并通过唯一的用户名与用户的 HttpSession 对象相关联。用户名的值由 SessionData类getUserName() 和 setUserName() 方法设置并返回。
  也可以扩展 UserProfile 类以创建一个更适合业务需求的子类,并用 Application Server 管理器指定专门 UserProfile 子类,该子类可用于所有的 Web 应用程序。
  
6.7会话跟踪
  Web应用服务器具有会话跟踪(即跟踪用户请求)的功能。使用管理器的“会话跟踪”页面配置会话跟踪。会话跟踪程序可将同一用户的几个相关请求合并为单个会话(即一个 HttpSession对象)。会话跟踪程序也能使Web应用服务器的多个实例能共享会话的一个公共缓冲池(即一个会话群集器)。
  1.启用会话跟踪及其部件
  查看 “会话跟踪”页面。单击“启用”标签。在“启用”标签中可以设置如下字段。
  (1) 启用会话:是否启用会话跟踪, 即请求和响应对象的相关会话方式是否有效。缺省值为是。
  (2) 启用 URL 重写:指会话跟踪是否启用重写 URL 来获取会话标识符。若被启用,则会话跟踪
程序将识别到达 URL 的会话标识符,若有必要的话,还将重写 URL 和发送该会话标识符。缺省值为。
  (3) 启用 Cookie:指会话跟踪是否使用 cookie 来携带会话标识符。若为“是”,则会话跟踪程序将识别作为 cookie 到达的会话标识符,并用 cookie 作为发送会话标识符的方式。缺省值为是。
  (4) 启用协议转换重写:当 URL 要求从 HTTP 转换成 HTTPS,或从 HTTPS 转换成 HTTP 时,
是否将会话标识符添加到 URL 中。缺省值为否。
  2.创建携带会话标识符的 Cookie
  指定 Cookie 的设置,会话跟踪程序使用该 Cookie 将相关的个别请求置入逻辑用户会话中。当 Servlet 请求一个 HttpSession 对象表示一个用户会话时,会话跟踪程序可以使用一个 Cookie 将唯一的会话标识符传回给发出请求的浏览器。当 Servlet 发出后继请求时,Cookie 则获准在 Servlet 和会话跟踪程序间的往返传送。会话跟踪程序使用它来查找用户 Servlet 的现有 HttpSession 对象。换而言之,会话跟踪程序使用 Cookie 中的标识符确定该请求与该用户的其它请求相关。
  查看 “会话跟踪”页面。单击“Cookie”标签。指定 Cookie 的名称,缺省值为sesessionid。可选地指定下列字段:
  (1) “域”字段的值以限制 Cookie 的发送位置。
  (2) 会话 Cookie 在客户机浏览器上的活动时间(即“最长周期”字段,以毫秒计)。如果该字段为
空,则当关闭浏览器时将删除该 Cookie。
  (3) “路径”字段的值以指定 Cookie 发送所至的服务器路径。
  (4) 在“安全”字段中单击“是”以限制仅允许 HTTPS 会话的 Cookie 进行交换。
  3.设置会话跟踪活动的时限和参数
  查看“会话跟踪”页面。单击“间隔”标签。
  (1) 指定会话跟踪程序检查会话是否空闲及估计会话是否无效的时间间隔(以毫秒计)。
  (2) 指定会话跟踪程序估计是否因为内存中会话过多,而将会话交换到磁盘的频率(以毫秒计)。
  (3) 指定一次允许保留在内存中的会话数(最多驻留数)。
  (4) 指定一个会话将允许在会话跟踪程序停止验证之前保持空闲的时间(以毫秒计)。
  4.保留持续数据
  使用“持续性”标签指定在会话跟踪程序关闭重新并启动后,以验证会话数据是否交换到磁盘。如果“持续性”字段设置为否,则会话跟踪程序将在每次启动时删除旧的会话交换文件。查看“会话跟踪”页面。单击“持续性”标签。在“持续性”字段中单击“是”。指定会话跟踪程序用于存储要保持持续性的会话数据。注意:交换目录必须是一个空目录。
  5.指定会话群集和协议转换设置
  可以将WebSphere应用服务器配置成以如下方式运行:独立主机、会话群集服务器、会话群集客户机、协议转换主机、独立主机。查看“会话跟踪”页面,单击“主机”标签。
  (1) 若WebSphere应用服务器实例为一个独立主机,则它不参与会话群集。在独立模式下, WebSphere应用服务器将维护它自己的会话信息,而对客户的会话信息请求将不予响应,并且不从服务器请求会话信息。缺省值:是。
  (2) 在用如 IBM eNetwork Dispatcher 之类的产品群集 Web 服务器的环境中,指定WebSphere应用服务器实例的主机名和 IP 地址,其中该实例为会话群集服务器。
  (3) 若将WebSphere应用服务器实例配置成 URL 重写和协议转换(在“启用会话跟踪”标签中),则指明群集主机的主机名或 IP 地址。例如,可能为 IBM eNetwork Dispatcher 主机。
  要使更改生效,请在更改“独立主机”或“会话群集服务器”字段后,重新启动Web应用服务器。更改这些字段后对所有配置所做的更改都保存在配置文件中,直至重新启动后方才生效。

  6.8 安全性
  WebSphere应用服务器具有很好的安全性支持。安全性简单地说就是确定谁可访问重要的系统资源,这些系统资源包括文件、目录、程序、连接和数据库。以独立模式运行WebSphere应用服务器比作为 Web 服务器的一部分运行具有更高的安全性。如果安全性要求超出了 Web 服务器提供的安全性,那么请以独立模式运行WebSphere应用服务器。下面介绍使用存取控制表保护资源、选择认证方案和协议、在WebSphere应用服务器中使用目录服务。
  1.使用存取控制表保护资源
  建立了一个设置安全性的基本过程。
  与安全性相关的概念包括用户、组、资源、许可权、领域、和存取控制表(ACL),这些安全性概念是紧密相关的,现说明如下:
  (1) 用户:一个可被 Web 服务器认证的身份。用户可以是人也可以是计算机。
  (2) 组:用户的集合。组提供了一个管理大量的用户的有效方法,这是因为管理员可以一次指定一个组的许可权。通常,组成员之间有一些共同特征。例如,一个公司中可能包括一个由管理级雇员组成的组,和另一个由非管理级雇员组成的组。其中,可能对非管理级用户赋予查看销售数据文件的访问权,而对管理级用户赋予查看和编辑销售数据文件的访问权。可以将一个人定义成单个用户,同时也将其定义成组的成员。例如,个人 Amy 可能代表单个用户 amy,也可能代表组 managers 的成员。
  (3) 资源:通过 Web 服务器进行存取的有价资源包括HTML 文件和目录(Web 页面)、其它文件和目录(如FTP文件)、Web 应用程序(Java Servlet 或 CGI 程序),而通过WebSphere应用服务器进行存取的资源包括Java Servlet、启用访问企业资源和应用程序(如数据库)的定制 Servlet、连接、套接字、文件和其它可由 Servlet 使用的资源。
  (4) 许可权:许可权表示请求访问资源的特权。管理员可通过建立存取控制表向用户和组授予许可权,以保护资源。许可权是与特定的资源相关的。想象一下,如果一个用户具有查看文件 A 和修改文件 B 的许可权。那么该用户不能用修改文件 B 的许可权来修改文件 A。每个许可权仅适用于特定的资源,且不能传递。单个用户的许可权优先于组的许可权。例如,如果用户 amy 对文件具有读、写权,但同时 amy 所属的组对该文件仅有读取权,那么 amy 仍对该文件具有读、写权,这是因为单个用户的许可权将覆盖具有更多限定的组许可权。(即使组的许可权限制性低于单个用户的许可权,但用户的许可权仍将覆盖组的许可权)。
  (5) 领域:领域是用户、组和存取控制表的数据库。为了使用户能访问领域中的资源,必须在该领域中定义需访问资源的用户。一个用户可以属于几个领域,但在同一领域中用户标识符不能重复。例如,用户 amy 可属于 fileRealm 和 anyRealm 领域。但每个领域中仅可包含一个名为 amy 的用户。可在每个领域中赋予用户 amy 访问不同资源的不同许可权。
  (6) 存取控制表:与资源关联的存取控制表指定了领域中的哪些用户和组可以访问资源。
存取控制表(ACL)、领域和资源的关系如下:
 一个领域可以包含许多 ACL。
 一个领域可以包含许多资源。
 一个 ACL 可以仅属于一个领域。
 一个资源可以仅属于一个领域。
 一个资源仅与一个 ACL 相关。
 一个 ACL 可与许多资源相关。
  WebSphere应用服务器附带了一些前期建立的领域:
 defaultRealm 定义了用户如何访问本地定义的资源。也可建立存取控制表,以确定哪些用户和组
对哪些资源具有访问权。
 NT 领域(NTRealm)和UNIX领域(UnixRealm)定义了在操作系统中拥有帐户的用户如何使用
  WebSphere应用服务器资源。 操作系统中定义的用户可由WebSphere应用服务器共享。只要他们存在于下层系统中,这种共享就一直存在。WebSphere应用服务器管理器界面使您能查看该领域;但若要更改它,必须使用操作系统所提供的设施。目前,WebSphere应用服务器可以共享操作系统定义的用户,但不能共享组。
servletMgrRealm 定义了 Servlet 如何访问远程定义的资源,如远程装入的 Servlet。 servletACL 是该领域中的唯一一张存取控制表。当远程装入且带有数字签名的 Servlet 试图访问一个受保护的资源时,将对 Servlet 中的数字证书与 servletMgrRealm 中与用户关联的数字证书进行比较。 servletACL 定义了是否授予或拒绝许可权。例如,假设用户 X 的数字证书封装在 anyServlet.JAR 文件中。如果用户 X 被添加在 servletMgrRealm 中,则所有包含与该用户相同数字证书的 Servlet (anyServlet.JAR 文件中)可以执行和访问赋予该用户的资源。
 最后,如果在WebSphere应用服务器管理器的“目录管理”页面中启用目录服务,将显示
LDAPRealm。WebSphere应用服务器可以共享定义在目录服务中的用户和组,且这种共享将一直持续下去,直至除去他们或禁用目录管理支持。WebSphere应用服务器管理器界面使您能查看该领域;但若要对它进行更改,必须使用 LDAP 服务器所提供的设施。如需更多有关 LDAP、目录服务和 LDAPRealm 的信息,请参阅有关使用目录服务的文档。
  WebSphere应用服务器使您能设置各种许可权。例如,其中包括发送和接收文件、删除文件、读取和写入文件、装入 Servlet、链接至库文件、打开和侦听套接字等许可权。某些情况下,服务不需要其客户存在于存取控制表中。例如,许多 Web 页面(HTTP)服务向所有用户公开其文档,而不要求他们在存取控制表中进行注册。
  可通过为每个资源在单个领域中建立单个存取控制表(ACL)来保护该资源(下面将进行讨论)。 ACL 将指定可以访问或修改资源的用户或组。对于要保护的每个资源,需要指定存取控制表、安全性领域、认证方案(用来验证访问资源的用户的方法)。下面介绍实现安全性的一个示例。
  使用各种管理器页面,以用存取控制表来建立安全性的基本步骤显示如下。
  (1) 定义用户。
  使用“安全性”-> 使用“用户”页面来定义用户,即定义被允许访问资源的个人和计算机。例如,定义名为 bopeep 的用户:
 选择 defaultRealm。
 单击页面左上部的“添加”按钮。
 输入用户名 bopeep。
 输入口令 sheep。再一次输入该口令以进行验证。
 单击“确定”按钮。
 验证 bopeep 显示在“定义的用户”列表中。
  (2) 可选地定义组
  使用“安全性”-> 使用“组”页面来定义用户所属的组,以使管理更加容易。首先,选择一个领域。下一步,选择将组添加到该领域中。可以用您喜欢的名称来命名组,然后将用户从非成员状态转换为成员状态。例如,将用户 bopeep 添加到组 mypeeps 中:
 选择 defaultRealm。
 单击页面左上部的“添加”按钮。
 输入组名 mypeeps。
 在“非成员”列表中选择用户 bopeep。
 单击“非成员”列表旁的“添加”按钮。
 验证 bopeep 已转换到成员框中。
  (3) 创建 ACL
  使用“安全性”-> 使用“存取控制表”页面来创建 ACL。例如,创建名为 sheepcontrol 的 ACL:
 单击定义“定义的存取控制表”列表旁的“添加”按钮。
 输入 ACL 名称 sheepcontrol。
 单击“确定”按钮。
  (3) 定义资源
  使用“安全性”-> 使用“资源”页面以将要保护的资源添加到领域中。(注意:必须在执行“创建 ACL”步骤后才能执行该步骤,这是因为必须指定新资源所属的 ACL)。例如,将 CheckMessage Servlet 添加到领域 defaultRealm 中的 sheepcontrol ACL 中:
选择 defaultRealm。
单击“添加”按钮。
选择基本方案作为认证方案。(“方案”选项将在下文中讨论)。
选择 sheepcontrol ACL。
选择 Servlet,并指定 CheckMessage Servlet。
单击“确定”按钮。
验证 CheckMessage 现已作为 ACL sheepcontrol 的资源列示出来。
  (4) 赋予许可权
  返回 ACL 并赋予用户、组和计算机访问 ACL 资源的许可权。例如,赋予 bopeep具有 GET 和 PUT 许可权,以使它可以访问领域 defaultRealm 中sheepcontrol ACL的文件和文件夹:
确保已在“定义的存取控制表”列表框中选定 sheepcontrol。
单击页面底部“主许可权”字段旁的“添加”按钮。
当显示“在 defaultRealm 中的 ACL sheepcontrol 添加许可权”框时,单击“文件与文件夹”。
下一步,选择许可权选项为 bopeep。由于 bopeep 是一个用户,所以单击“用户”。在列表中选
择bopeep。(注意,如果选择的是“组”,则将看到“主名”列表中的组 mypeeps)。
使用复选框赋予 bopeep具有 GET 和 PUT 许可权。
单击“确定”按钮。
通过查看“主许可权”框来验证 bopeep 具有正确的许可权。如果没有显示许可权,请单击 bopeep
  左边的加号。这时将显示一个列表,该列表显示了 bopeep 的许可权。
  2.选择认证方案和协议
  首先讨论的是认证协议,即 HTTP 和 HTTPS。接下来将会讨论的是认证方案,即基本、摘要、定制和证书认证。最后讨论的是有关组合方案和协议的策略。
  (1) 关于认证协议
  HTTPS 则是 HTTP 和 SSL 协议的组合。SSL(安全套接字层)是一个网络安全协议,它用来提供服务器和客户机之间必要的安全性。如果选择 HTTP,认证数据的接收无任何保护。如果选择 HTTPS,认证数据在每个 SSL 协议中加密。如果要使用证书认证,那么必须使用 HTTPS。
  (2) 关于认证方案
  WebSphere应用服务器支持的认证方案包括基本认证、摘要认证、定制认证、证书认证。
基本认证:使用 HTTP 或 HTTPS 请求来自客户机的用户名和口令。 用普通文本将用于验证的
信息发送给服务器验证。所有浏览器都支持基本认证。如果一个用户标识符和口令提供了足够的认证,那么请考虑使用基本认证。
摘要认证:使用 HTTP 或 HTTPS 请求来自客户机的用户名和口令。将用于验证的用户名和口
令的加密形式(使用摘要)发送给服务器。并非所有浏览器都支持摘要认证。(当前仅 Sun HotJava 浏览器支持该认证方案)。如果浏览器不支持摘要认证,那么其用户将无法访问由该协议进行保护的资源。
定制认证:使用 HTTP 或 HTTPS 来请求使用 HTML 格式定制的客户机信息。由 CGI 和
Servlet 将这些用于验证的信息用普通文本发送到服务器上。当需要除了标识符和口令之外的用户认证时,可使用定制认证。例如,可以请求一个社会安全号的用户认证。使用该协议,可建立 HTML 格式以询问用户数据。认证是由服务器端代码(CGI 和 Servlet)执行的,而不是由 IBM WebSphere应用服务器运行时应用程序执行的。如果使用定制认证,请使用 HTTPS 保护数据。
证书认证:使用 HTTPS 以请求一个客户机证书。必须启用 SSL 客户机认证选项。将用于验证
的信息发送给服务器。认证使用的数字证书具有很高的安全性,且证书认证通常对用户是透明的。系统或站点管理员会对客户机证书进行管理。通常这些任务是由证书权威服务器软件授权的,例如 IBM Vault Registry 产品。
  (3) 组合认证方案和协议
  正如前述,除非是在一个与安全无关的环境中,否则 HTTPS 通常更为可取。对于不同的安全性要求可以对方案和协议进行组合,策略如下:
对于基本安全性要求,使用基本、摘要或 HTTP 上的定制认证。
对于较高安全性要求,使用基本、摘要或 HTTPS 上的定制认证。
对于最高安全性要求,使用 HTTPS 上的证书认证。
  3.使用目录服务
  一个目录服务是信息仓库、存取法和相关服务的组合。信息仓库通常是用于存储位置信息和其它有关资源(例如用户、打印机、文件服务器和WebSphere应用服务器)的详细信息的数据库。存取法是指轻量级目录访问协议(LDAP)或其它可用来与目录服务组件进行通信的存取法。相关服务是指目录服务提供的用于查询、操纵和认证数据库中信息的设施。
  对集中式安全性数据通常需要使用目录服务。目录服务可以为整个网络提供单个管理点。使用目录服务,可以一次定义用于所有应用程序(包括WebSphere应用服务器)的用户和组,而无需为每个应用程序分别定义用户和组。目录服务对于实现安全性很有帮助,即通过认证用户和控制对资源的访问。没有目录服务,可能必须为不同的软件产品(例如WebSphere应用服务器、Web 服务器和操作系统)重复定义相同的用户和组,这是因为这些软件产品不共享安全性数据。
  WebSphere应用服务器版本 2.0 支持使用轻量级目录访问协议(LDAP)V2 的目录服务。这些目录服务包括 Domino Directory 版本 4.6.x 和 Netscape Directory Server 版本 3.x。WebSphere应用服务器版本 2.02 (本地语言版本)也支持 IBM Suites(不包括 IBM Suites 版本 1.0)的 eNetwork Directory 组件。使用目录服务的基本步骤如下:
  (1) 设置目录服务,或使用一个现有的目录服务。
  (2) 使用WebSphere应用服务器的管理器界面的“目录管理” 页面,以标识至WebSphere应用服务
器的目录服务,并指定基本设置。
  (3) 查看管理器中的目录服务用户和组信息。
  (4) 在WebSphere应用服务器中定义存取控制表(或已有的 ACL),以利用目录服务用户和组信息。
  (5) 用 ACL 保护WebSphere应用服务器资源。
  使用“目录管理” 页面指定目录服务的步骤如下:
查看“设置” -> “目录管理”页面。
在“配置”标签中,请在“是否启用目录 ? ”字段中单击“是”
使用下拉列表选择目录类型。选择:
“netscape”使用 Netscape Directory Server;
“domino4.6”使用 Domino Server;
“enetworkibmsuite”使用 IBM Suite 的 eNetwork Directory Server 组件。
输入驻留目录服务的计算机主机名。
输入服务的端口号。
输入将作为目录服务的 LDAP 搜索起始点的基本分辨名(Base DN)。例如,o=raleigh.ibm.com.
可选功能。输入联编分辨名和联编口令。这些字段空白表示WebSphere应用服务器匿名联编目录
  服务。如果指定了联编分辨名和口令,则请确认将目录服务配置成使用同一分辨名和口令来认证WebSphere应用服务器,否则认证将告失败。
  当使用“目录管理”指定目录服务时,管理器将提供的功能有:
动态地建立、初始化和维护与 LDAP 目录服务相关联的 ldapRealm。
使用管理器的“安全性”页面关联WebSphere应用服务器资源和 ldapRealm。
将WebSphere应用服务器存取控制表(ACL)与 ldapRealm 的资源关联起来。
  IdapRealm 是一个包含已定义在目录服务中的用户和组的WebSphere应用服务器安全性领域。可以使用WebSphere应用服务器的管理器界面的“安全性”页面,以建立存取控制表和 IdapRealm 之间的关联。 ldapRealm 对资源进行保护,并且存取控制表允许属于该领域的用户和组(在这种情况下,用户和组在目录服务中)访问资源。
  ldapRealm 使用非 SSL LDAP V2 协议来与目录服务进行通信,并根据在“目录管理”页面中指定的设置进行联编。当受 IdapRealm 保护的WebSphere应用服务器资源需要认证时,将根据IdapRealm 来验证客户机的用户标识符和口令。该过程如下:
客户机向WebSphere应用服务器发出 Servlet 请求。
WebSphere应用服务器确定请求的资源是否受 ACL 保护。
因此WebSphere应用服务器将一个认证要求发送给客户机。
客户机输入用户标识符和口令。
目录服务验证用户标识符和口令与保护资源的 IdapRealm 是否相符合:目录服务发出 LDAP 查
找,以查找与指定用户标识符相符的人。为该用户创建一个分辨名(DN)。
目录服务使用该用户分辨名和口令执行一个 LDAP 连接。
当目录服务认证用户后,WebSphere应用服务器Java 引擎将调用 Servlet 以处理与客户机获得的
许可权一致的客户机请求。
  可以通过访问ldap://act:389/o=raleigh.ibm.com来测试目录服务是否正在运行,其中:act 是运行目录服务的机器的主机名,389 是服务的端口号,o=raleigh.ibm.com 是基本分辨名,它还代表了目录服务中的搜索起始点。



 
   
     
 

你可能感兴趣的:(Websphere 入门基础 第六课 WebSphere应用服务器)