回顾: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配置修改后无需重新启动也可加载)。

web服务器专题:tomcat(三)tomcat-user.xml 配置文件的更多相关文章

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

    web服务器专题:tomcat(二)模块组件与server.xml 配置文件 回顾: Web服务器专题:tomcat(一) 基础模块 一个Server.xml的实例 <?xml version= ...

  2. web服务器专题:tomcat基础及模块

    Web服务器专题:Tomcat(一)基础架构 针对java系的经典服务器,打算系统的整理一下Tomcat的机制和一些原理,以此记录. 插一则题外话,关于tomat这个名字的由来:Tomcat 名称的由 ...

  3. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  4. WEB服务器搭建(Apache+Tomcat+eclipse)

    1.下载xampp安装,选择Apache+MySQL+Tomcat 官方下载链接:https://www.apachefriends.org/zh_cn/download.html 2.下载安装jav ...

  5. Tomcat学习笔记【1】--- WEB服务器、JavaEE、Tomcat背景、Tomcat版本

    本文主要讲学习Tomcat需要知道的基础知识. 一 Web服务器 1.1 简介 Web服务器可以解析HTTP协议.当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面 ...

  6. WEB服务器:Apache、Tomcat、JBoss、WebLogic、Websphere、IIS的区别与关系

    1)Apache  免费,世界使用排名第一的Web服务器.它可以运行在几乎所有广泛使用的计算机平台上.Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用.Apache是以进程为基础的结 ...

  7. Tomcat下的Server.xml配置文件详解

    自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...

  8. 如何搭建一个WEB服务器项目(三)—— 实现安卓端联网登录

    安卓端调用服务器登录函数进行验证登录 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出错误,分享宝贵经验 ...

  9. Web服务器与客户端三种http交互方式

    近期在对接项目时用到http方式与第三方交互数据,由于中间沟通不足导致走了不少弯路,至此特意花了点时间总结服务端与客户端数据交互的方式,本地搭建两个项目一个作为服务端,一个作为客户端.post可以有两 ...

随机推荐

  1. 如何用Vegas完成视频编辑中的自动跟踪换图

    Vegas作为一款专业的视频剪辑软件,剪辑速度快捷,拥有各种实用工具和特效,同样也可以为用户实现视频换图的需求.今天小编就为大家讲解,如何利用Vegas自动跟踪进行换图,让视频能够更加便捷的呈现. 本 ...

  2. Java蓝桥杯练习题——Huffman树

    Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: 找到{pi}中 ...

  3. 2017 Mid Central Regional G. Faulty Robot(dfs + 尬模)

    这道题看上去太像tarjan缩点了,我一上去本来想把所有的环给缩掉然后统计答案,后来发现哦,这道题不是这么回事儿. 给出黑边红边,一次性走至多只能走一次黑边,问有多少个点可以走到,并且让机器人停下来, ...

  4. R语言无网络安装R包,彻底解决依赖问题!

    R version: 3.5.3, 3.6.3 更新日期: 2020-9-10 大家测试后多提建议哈, 有问题我会持续更新的 在工作中,我们使用的服务器通常是不能联外网的,这在安装R包的时候产生了巨大 ...

  5. Zookeeper(5)---分布式锁

    基于临时序号节点来实现分布式锁 为什么要用临时节点呢?如果拿到锁的服务宕机了,会话失效ZK自己也会删除掉临时的序号节点,这样也不会阻塞其他服务. 流程: 1.在一个持久节点下面创建临时的序号节点作为锁 ...

  6. 转:解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别 标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD ...

  7. 转:HTTP协议简介与在python中的使用详解

    1. 使用谷歌/火狐浏览器分析 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来.而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用 ...

  8. 使用文件描述符作为Python内置函数open的file实参调用示例

    一.关于文件描述符 open()函数的file参数,除了可以接受字符串路径外,还可以接受文件描述符(file descriptor),文件描述符是个整数,对应程序中已经打开的文件. 文件描述符是操作系 ...

  9. PyQt(Python+Qt)学习随笔:Model/View中的枚举类 Qt.MatchFlag的取值及含义

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 枚举类 Qt.MatchFlag描述在模型中搜索项时可以使用的匹配类型,它可以在QStandardI ...

  10. js- 实现属性名的拼接 obj['name']

     obj.name---->obj[name] 这两种调用方式一样,使用obj.name内部转换成 obj['name'], 使用obj['name']更快. obj['name'] 里面必须是 ...