Posted on 2015-10-29 15:54
Hero 閱讀(186)
評論(0) 編輯 收藏 引用 所屬分類:
WEB
Tomcat Manager是Tomcat自帶的、用于對Tomcat自身以及部署在Tomcat上的應用進行管理的web應用。Tomcat是Java領域使用最廣泛的服務器之一,因此Tomcat Manager也成為了使用非常普遍的功能應用。
在默認情況下,Tomcat Manager是處于禁用狀態的。準確地說,Tomcat Manager需要以用戶角色進行登錄并授權才能使用相應的功能,不過Tomcat并沒有配置任何默認的用戶,因此需要我們進行相應的用戶配置之后才能使用Tomcat Manager。
Tomcat Manager的用戶配置是在Tomcat安裝目錄/conf/tomcat-users.xml
文件中進行管理的。
Tomcat Manager的用戶配置非常簡單,下面我們以一個具體的配置為例:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager-script"/>
</tomcat-users>
如上所示,我們只需要在tomcat-users
節點中配置相應的role
(角色/權限)和user
(用戶)即可。一個user
節點表示單個用戶,屬性username
和password
分別表示登錄的用戶名和密碼,屬性roles
表示該用戶所具備的權限。
user
節點的roles
屬性值與role
節點的rolename
屬性值相對應,表示當前用戶具備該role節點所表示的角色權限。當然,一個用戶可以具備多種權限,因此屬性roles
的值可以是多個rolename
,多個rolename
之間以英文逗號隔開即可。
稍加思考,我們就應該猜測到,rolename
的屬性值并不是隨意的內容,否則Tomcat怎么能夠知道我們隨便定義的rolename
表示什么樣的權限呢。實際上,Tomcat已經為我們定義了4種不同的角色——也就是4個rolename
,我們只需要使用Tomcat為我們定義的這幾種角色就足夠滿足我們的工作需要了。
以下是Tomcat Manager 4種角色的大致介紹(下面URL中的*為通配符):
- manager-gui
- 允許訪問html接口(即URL路徑為/manager/html/*)
- manager-script
- 允許訪問純文本接口(即URL路徑為/manager/text/*)
- manager-jmx
- 允許訪問JMX代理接口(即URL路徑為/manager/jmxproxy/*)
- manager-status
- 允許訪問Tomcat只讀狀態頁面(即URL路徑為/manager/status/*)
從Tomcat Manager內部配置文件中可以得知,manager-gui
、manager-script
、manager-jmx
均具備manager-status
的權限,也就是說,manager-gui
、manager-script
、manager-jmx
三種角色權限無需再額外添加manager-status
權限,即可直接訪問路徑/manager/status/*
。