J2EE课程设计《技术应用指导》——第12章 Tomcat服务器对安全管理技术支持(第1部分)
- 格式:pdf
- 大小:819.76 KB
- 文档页数:23
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 1/23页 第12章 Tomcat服务器对安全管理技术支持(第1/3部分) 保证应用系统稳定和安全地运行是企业应用系统开发中的基本技术要求,但应用系统的安全性的保证是一个系统性的工程实现——涉及多个不同的层次和不同角度的技术实现方法,作者在本章中主要为读者介绍在应用服务器——比如Tomcat服务器系统程序这个层次中如何为Web应用系统提供更好的安全管理的技术实现。 J2EE技术规范为应用系统程序的开发者提供了两种形式的基于容器的安全性技术规范标准——说明性的安全性和可编程的安全性,其中的说明性的安全性也就是在应用服务器的部署描述文件中定义系统中的各种安全策略和要求——由于不需要开发者编码实现,因此能够减轻开发者的编码工作量、而且更改安全管理的策略也比较方便。 但基于服务器的可编程安全性在具体实现时是与具体的应用服务器系统程序紧密相关——不同的J2EE应用服务器系统程序的操作配置的方法和过程是不同的,而且配置文件中的数据及定义也是不同的。由于Tomcat服务器是目前应用比较广泛的开源J2EE Servlet容器,读者在课程设计的项目开发中也基本上都是采用它作为本项目的应用服务器。作者在本章中通过银行账户信息管理系统的安全性具体实现的示例为读者详细地介绍Tomcat服务器对安全管理技术的支持。 1.1 Tomcat服务器中的用户管理技术 Tomcat服务器作为一个严格遵守J2EE Servlet技术规范的具体实现程序,在其中也提供有J2EE安全规范的具体实现技术的支持。而且还提供有图形用户界面的系统管理和应用管理的管理程序,方便操作者的配置和维护修改。 为了降低应用系统中的权限管理实现的复杂性,一般都引入某种“角色”的定义,从而使得“用户”和“权限”相互分离:一个用户可以拥有多个不同的角色、一个角色也可以拥有多个不同的权限,这样就能够更灵活地支持安全策略。 1.1.1 Tomcat服务器中的系统管理和应用管理程序 1、Apache Tomcat Web容器 Tomcat程序在严格意义上并不是一个真正的J2EE 应用服务器,它只是一个可以支持运行J2EE Serlvet/JSP组件的Web容器,同时它也提供Web服务器的功能。另外Tomcat杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 2/23页 也具有J2EE 应用服务器的一些基本功能——如提供有对JNDI、数据库连接池、用户事务处理和安全认证等方面的技术支持。 Tomcat程序是Apache开源社区中的Jakarta项目内的一个子项目,可以在Apache的官方网站下载Tomcat的系统程序(包括源代码)如图12.1所示。目前Tomcat广泛地应用在中小规模的Java Web应用系统开发及实际应用中。 Tomcat系统程序是一种具有JSP环境的Servlet容器,但不同版本的Tomcat系统程序对JSP和Servlet等J2EE的技术规范标准采取了不同的实现形式,下图12.1所示的网站页面内容说明了不同版本的Tomcat系统程序所实现的不同版本的J2EE技术规范标准。 图12.1 Apache的官方网站下载Tomcat的系统程序页面截图 2、Tomcat中提供有系统管理和应用管理两种管理工具 (1)Tomcat系统程序中的系统管理工具 大多数商业化的J2EE应用服务器都提供有功能强大的GUI形式的系统管理程序(如Weblogic的管理控制台),且大都采用易于操作的Web应用界面。Tomcat同样也提供有一个成熟的系统管理工具——Admin Web Application程序。 Tomcat中的系统管理工具的主要管理功能包括Context、环境变量、DataSource、User和Group等方面。管理人员要想登陆Admin Web Application程序,必须要具有admin类型的角色的账号。 (2)Tomcat系统程序中的应用管理工具 Tomcat中所提供的应用管理工具——Manager Web Application能够让Web应用系统的技术支持人员通过一个比Admin Web Application更为简单的用户操作界面,完成一些与Web应用系统程序紧密相关的管理和配置功能。管理人员要想登陆Manager Web Application程序,必须要具有manager类型的角色的账号。 3、应用Tomcat中的系统管理工具 (1)Tomcat5.0及以前版的系统中直接内带有Admin Web Application程序 在Tomcat5.0及以前版的系统程序中的./server/webapps目录中内带有Admin Web Application程序如图12.2所示。其中admin目录中的各个程序和页面为Admin Web 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 3/23页 Application程序,manager目录中的各个程序和页面为Manager Web Application程序。 在启动Tomcat服务器程序后,读者直接在浏览器中输入http://localhost:8080/admin/就可以启动Admin Web Application程序,不需要进行程序的附加下载和配置定义。 图12.2 Tomcat5.0以前版的系统中直接内带有系统管理工具程序 (2)Tomcat 5.5以上版(也包括Tomcat 6.X中)中不再集成系统管理工具 读者在启动Tomcat 5.5以上版的系统程序后,如果在浏览器中再输入http://localhost:8080/admin/后,将出现右图12.3所示的警告提示信息。 作者通过查询Apache官方网站中有关对Tomcat6系统程序介绍的文档了解到——“Tomcat 5.5 以后的binary 核心安装版不再集成Tomcat Administration Web Application Tool,读者需要独立下载和安装。而Tomcat 6.0版以后的Administration Web Application程序仅包含在源码包中,没有提供独立下载的可执行的安装包”。读者从下图12.4所示的Apache官方网站中提供对Tomcat 6.X系统包的各个下载链接也能够了解到这个情况——不再直接内带有系统管理工具程序。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 4/23页
图12.4 Apache网站中提供对Tomcat 6.X系统包的各个下载链接 (3)下载Tomcat 5.5的Admin Web Application程序 读者可以在http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.27/bin/网站或者在http://tomcat.apache.org/download-55.cgi/网站中下载Tomcat 5.5的系统管理工具程序——请见下图12.5所示的下载页面的截图。 图12.5下载Tomcat 5.5的系统管理工具程序的页面截图 (4)解压并安装所下载的Tomcat 5.5的系统管理工具程序 读者按照上图12.5所示的网址下载、并解压apache-tomcat-5.5.27-admin.zip文件,将其中的conf和server两个文件夹分别拷贝到Tomcat5.5以上版的系统根目录中,这样也就完成了系统管理工具程序的附加配置——最后的操作结果请见下图12.6所示的截图。 图12.6 完成对系统管理工具程序的附加配置操作的结果 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 5/23页 4、建立系统管理员及应用管理员的账号和初始的密码 (1)Tomcat中的用户账号信息默认是放在tomcat-users.xml文件中 假设读者机器中的Tomcat服务器系统程序安装在C:\根目录中,则在下面的目录C:\jakarta-tomcat-5.5.9\conf中,读者将能够看到一个文件名称为tomcat-users.xml的配置文件——Tomcat中的各个系统用户账号的信息在默认情况下也就是放在该文件中。 读者首先在该文件中增加一个名称为admin的角色定义:和一个名称为admin、密码为12345678的admin角色的用户定义:。最后的操作结果请见下图12.7中的示例文件内容。 图12.7 在Tomcat系统中添加角色和用户定义 (2)启动Admin Web Application程序的登录界面 读者启动了Tomcat服务器的系统程序后,然后在浏览器中直接输入下面的http://localhost:8080/admin/的请求地址,将能够看到右图12.8中所示的Admin Web Application程序的登陆界面。 在该页面的登陆表单中输入用户名称为admin和密码为12345678后(它们是在图12.7的示例文件中定义的账号信息),再点击登陆表单中的【Login】按钮提交登陆请求,将能够看到下图12.9所示的Admin Web Application程序的系统配置的主界面。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 6/23页
图12.9 Admin Web Application程序的主界面 5、应用Tomcat服务器系统中内带的应用管理工具 (1)登陆Tomcat服务器中的应用管理工具程序 读者在浏览器中直接输入http://localhost:8080/manager/html/list后将出现下图12.10所示的要求输入用户名和密码的对话框类型的身份验证的登陆页面,然后输入用户名称为manager,密码为12345678——它们已经在图12.7所示的tomcat-users.xml文件中定义出。 图12.10登陆Tomcat中的应用管理工具程序 (2)利用Tomcat服务器中的应用管理工具监控和管理各个Web应用程序 读者在图12.10所示的页面中输入有效的身份信息后,如果身份验证通过则顺利地进入到Tomcat Web Application Manager程序的主界面——请见下图12.11所示的程序界面。 Tomcat服务器中的应用管理工具(Manager Web Application)可以让管理人员在没有系统管理特权的基础上,部署安装新的Web应用程序以用于测试。同时也可以对所部署的Web应用程序的工作状态进行控制(Start 或者 Stop等操作),以免重新启动Tomcat服务器——这在对应用系统中的web.xml等配置的内容发生改变时,特别有效。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 7/23页
图12.11 利用Tomcat应用管理工具监控和管理各个Web应用程序 1.1.2 利用Tomcat服务器系统管理工具进行用户管理 1、添加在Tomcat服务器系统中所需要的各种用户角色 (1)名称为admin和manager角色为Tomcat服务器中的两种默认用户角色 角色名为admin的用户账号能够完成Tomcat的系统管理和配置,而角色名为manager的用户账号能够完成对部署在Tomcat服务器中的各种应用系统程序的管理和配置——读者可以根据在开发中的具体需要,合理地创建出这两种角色的账号信息。 (2)利用Tomcat系统管理工具添加新的角色名 读者在下图12.12所示的系统管理工具的主界面中点击左面的【Roles】树形节点,然后在右面的下拉列表框中选择【Create New Role】项目——请见下图12.12所示。 图12.12 在右面的下拉列表框中选择Create New Role项目 (3)输入新角色的名称和有关的描述文字 读者可以在弹出的页面中,输入新的角色的名称(比如:teacher)和对该角色的描述文字(比如:这是杨少波老师的角色名)——最后的操作结果请见下图12.13所示。