回顾:web服务器专题:tomcat(二)模块组件与server.xml 配置文件

Tomcat管理模块

安装Tomcat后,访问127.0.0.1/8080可以看到这个首页,上图中的三个按钮即为Tomcat的管理功能,该模块是为了方便用户管理Tomcat的web应用,以及查看tomcat的状态而设。该模块的相关控制文件主要为  /conf/tomcat-users.xml

Server Status

该部分为整个tomcat服务的状态监听,页面内提供基本的tomcat运行状态及内存运行情况,便于运维人员查看。

Manager App

  当前tomcat部署的web应用管理平台,提供对web应用的部署及卸载功能,可以在线部署应用,以及控制应用的启停、会话。

Host Manager

查看 Tomcat 虚拟机管理器,本质即是对<host>标签的管理

Tomcat-user内置角色及权限

Tomcat的角色管理通过tomcat-users.xml文件控制,一下为一个tomcat-users.xml实例

    <tomcat-users>

     <role rolename="manager-gui"/>

     <role rolename="manager-script"/>

     <user username="tomcat" password="tomcat" roles="manager-gui"/>

     <user username="admin" password="admin" roles="manager-script"/>

  </tomcat-users>

  <role>标签为角色,rolename属性为角色名称,这里的rolename不是自定义的,而是tomcat内置的。配置好角色后,<user>标签则为我们自定义的标签,即我们定义一个用户,username为账号名称,password为密码,roles属性则为以上定义好的<role>标签的rolename,可以通过 “,” 隔开配置一个用户拥有多个角色权限。  

Tomcat针对manager内置了6个角色,分别为 admin-gui , admin-script , manager-gui , manager-script , manager-status , manager-jmx

  • 负责Server StatusManager App 功能的角色

manager-gui:访问 HTML 页面

manager-status:仅访问 “服务器状态” 页面

manager-script:访问脚本页面,以及 “服务器状态” 页面

manager-jmx:访问 JMX 代理接口和 “服务器状态” 页面

  • 负责 Host Manager 功能的角色

admin-gui:访问HTML页面

admin-script: 访问脚本页面

一个栗子

这里基于新部署安装的tomcat(实际tomcat 9)进行一次全部权限的放开,作为一个实际操作的例子流程。(声明:实际生产不建议以下操作,会造成极高的安全问题)

对 管理功能 的全部放开,即tomat首页中的 Server Status,Manager App,Host Manager 功能全部开放,首先进入tomcat的/conf目录下,打开tomcat-users.xml文件,复制以下内容到配置文件中。

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user username="admin" password="admin" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

  这里将所有的角色role进行了声明,然后定义了一个admin的账户,将所有的角色都赋予它,使他用于全部权限。

然后将/webapps/manager/META-INF/和webapps/host-manager/META-INF/下的context.xml进行修改(manager和host-manager目录下的context.xml两个都要改)

将context.xml的只针对本地请求放行这一设置注释掉即可,如下:

<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

至此,tomcat首页即可使用设置的admin账号访问管理页面了(tomcat配置修改后无需重新启动也可加载)。

最新文章

  1. Winform布局方式
  2. iOS获取本机IP地址
  3. AspNet MVC中各种上下文理解
  4. dma_ops
  5. struts2 spring3.2 hibernate4.1 框架搭建 整合
  6. iPad开发--美团界面的搭建(主要是对Popover的使用,以及监听)
  7. uC/OS-II中includes块
  8. leetcode Add and Search Word - Data structure design
  9. python笔记集合
  10. 细说Mysql四种安装方法及自动化部署
  11. shelve模块
  12. 做HDU1010 带出来一个小问题
  13. 30道小学生四则运算题C/C++编程
  14. Sqli-labs less 62
  15. OC:基础学习
  16. 第12届北师大校赛热身赛第二场 C. 组合数
  17. 一个php创建webservice,并通过c#调用的真实实例
  18. Android中的单元测试
  19. hdu4417 Super Mario 树阵离线/划分树
  20. 前端知识复习二(js)

热门文章

  1. 原生sql查询返回结果集处理方法
  2. 如何用ABBYY FineReader提取图片中的文字
  3. 在FL Studio中通过Key Tracking来改善声音
  4. Math对象-JavaScript
  5. python debug调试
  6. 精尽MyBatis源码分析 - SQL执行过程(三)之 ResultSetHandler
  7. 【VUE】3.表单操作
  8. java中String类的使用
  9. Codeforces Round #660 (Div. 2) A、B、C题解
  10. Web 常见漏洞