標籤:code AC webapps log ddr details 直接 htm 使用者角色
在配置好Tomcat7/8後,我們往往需要訪問Tomcat7/8的Manager以及Host Manager。就需要在tomcat-users.xml中配置使用者角色來實現。在地址欄輸入:localhost:8080訪問 Tomcat,在開啟的介面中,在右上方有這樣三個按鈕:
1. Server Status
2. Manager App
3. Host Manager
可是在我們配置好tomcat-users.xml後,這三個按鈕往往不能都訪問,要麼是只能訪問其中一個,或者就是兩個。出現這種問題很有可能是你在配置中,角色沒有添加全,尤其是在第三個按鈕的配置上,第三個按鈕的配置Tomcat7和Tomcat8的配置是不相同的。
為了實現配置讓三個按鈕都能訪問到,我們先看下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已經為我們定義了4種不同的角色,也就是4個rolename,我們只需要使用Tomcat為我們定義的這幾種角色就足夠滿足我們的工作需要了。
manager-gui #允許訪問html介面(即URL路徑為/manager/html/*)manager-script #允許訪問純文字介面(即URL路徑為/manager/text/*)manager-jmx #允許訪問JMX代理介面(即URL路徑為/manager/jmxproxy/*)manager-status #允許訪問Tomcat唯讀狀態頁面(即URL路徑為/manager/status/*)
特別需要說明的是:manager-gui、manager-script、manager-jmx均具備manager-status的許可權,也就是說,manager-gui、manager-script、manager-jmx三種角色許可權無需再額外添加manager-status許可權,即可直接存取路徑”/manager/status/*”。
<user username="使用者名稱" password="密碼" roles="角色(可多個)"/>
這個很簡單,就是用來表示使用者的,其中roles對應的就是上面定義的角色,可以有多個角色,多個角色用“,”隔開即可。也可以配置多個使用者。
需要訪問前兩個按鈕,只需配置manager-*(4個按需配置)即可。
需要訪問第三個按鈕,需要配置 admin-gui(HTML UI介面)或admin-script(純文字介面)。
如果都要訪問,配置在一起即可。
下面根據Tomcat7和Tomcat8分別貼出使用者配置:1、Tomcat7訪問Server Status、Manager App、Host Manager的配置。
聲明:此配置不注重安全性,只是測試。具體根據需求可刪減
<role rolename="admin"/><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,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>
2、Tomcat8訪問Server Status、Manager App、Host Manager的配置。
聲明:此配置不注重安全性,只是測試。具體根據需求可刪減
Tomcat8如果在上面配置的基礎上,訪問時會報403錯誤,所以需要修改,如果沒有的話建立conf/Catalina/localhost/manager.xml 檔案。
配置內容如下:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /></Context>
轉自:53218584
Tomcat7/8訪問Server Status、Manager App、Host Manager出現403 forbidden