初始提交
diff --git a/tomcat-uid/webapps/host-manager/WEB-INF/jsp/401.jsp b/tomcat-uid/webapps/host-manager/WEB-INF/jsp/401.jsp
new file mode 100644
index 0000000..c71c9ea
--- /dev/null
+++ b/tomcat-uid/webapps/host-manager/WEB-INF/jsp/401.jsp
@@ -0,0 +1,72 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>401 Unauthorized</title>
+ <style type="text/css">
+ <!--
+ BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
+ H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
+ PRE, TT {border: 1px dotted #525D76}
+ A {color : black;}A.name {color : black;}
+ -->
+ </style>
+ </head>
+ <body>
+ <h1>401 Unauthorized</h1>
+ <p>
+ You are not authorized to view this page. If you have not changed
+ any configuration files, please examine the file
+ <tt>conf/tomcat-users.xml</tt> in your installation. That
+ file must contain the credentials to let you use this webapp.
+ </p>
+ <p>
+ For example, to add the <tt>admin-gui</tt> role to a user named
+ <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the
+ config file listed above.
+ </p>
+<pre>
+<role rolename="admin-gui"/>
+<user username="tomcat" password="s3cret" roles="admin-gui"/>
+</pre>
+ <p>
+ Note that for Tomcat 6.0.30 onwards, the roles required to use the host
+ manager application were changed from the single <tt>admin</tt> role to the
+ following two roles. You will need to assign the role(s) required for
+ the functionality you wish to access.
+ </p>
+ <ul>
+ <li><tt>admin-gui</tt> - allows access to the HTML GUI</li>
+ <li><tt>admin-script</tt> - allows access to the text interface</li>
+ </ul>
+ <p>
+ The HTML interface is protected against CSRF but the text interface is not.
+ To maintain the CSRF protection:
+ </p>
+ <ul>
+ <li>The deprecated <tt>admin</tt> role should not be assigned to any
+ user.</li>
+ <li>Users with the <tt>admin-gui</tt> role should not be granted the
+ <tt>admin-script</tt> role.</li>
+ <li>If the text interface is accessed through a browser (e.g. for testing
+ since this interface is intended for tools not humans) then the browser
+ must be closed afterwards to terminate the session.</li>
+ </ul>
+ </body>
+
+</html>
diff --git a/tomcat-uid/webapps/host-manager/WEB-INF/jsp/403.jsp b/tomcat-uid/webapps/host-manager/WEB-INF/jsp/403.jsp
new file mode 100644
index 0000000..569bd29
--- /dev/null
+++ b/tomcat-uid/webapps/host-manager/WEB-INF/jsp/403.jsp
@@ -0,0 +1,87 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>403 Access Denied</title>
+ <style type="text/css">
+ <!--
+ BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
+ H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
+ PRE, TT {border: 1px dotted #525D76}
+ A {color : black;}A.name {color : black;}
+ -->
+ </style>
+ </head>
+ <body>
+ <h1>403 Access Denied</h1>
+ <p>
+ You are not authorized to view this page.
+ </p>
+ <p>
+ If you have already configured the Host Manager application to allow access
+ and you have used your browser's back button, used a saved book-mark or
+ similar then you may have triggered the cross-site request forgery (CSRF)
+ protection that has been enabled for the HTML interface of the Host Manager
+ application. You will need to reset this protection by returning to the
+ <a href="<%=request.getContextPath()%>/html">main Host Manager page</a>.
+ Once you return to this page, you will be able to continue using the Host
+ Manager appliction's HTML interface normally. If you continue to see this
+ access denied message, check that you have the necessary permissions to
+ access this application.
+ </p>
+ <p> If you have not changed
+ any configuration files, please examine the file
+ <tt>conf/tomcat-users.xml</tt> in your installation. That
+ file must contain the credentials to let you use this webapp.
+ </p>
+ <p>
+ For example, to add the <tt>admin-gui</tt> role to a user named
+ <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the
+ config file listed above.
+ </p>
+<pre>
+<role rolename="admin-gui"/>
+<user username="tomcat" password="s3cret" roles="admin-gui"/>
+</pre>
+ <p>
+ Note that for Tomcat 6.0.30 onwards, the roles required to use the host
+ manager application were changed from the single <tt>admin</tt> role to the
+ following two roles. You will need to assign the role(s) required for
+ the functionality you wish to access. Note the <tt>admin</tt> role is still
+ valid but by-passes the CSRF protection.
+ </p>
+ <ul>
+ <li><tt>admin-gui</tt> - allows access to the HTML GUI</li>
+ <li><tt>admin-script</tt> - allows access to the text interface</li>
+ </ul>
+ <p>
+ The HTML interface is protected against CSRF but the text interface is not.
+ To maintain the CSRF protection:
+ </p>
+ <ul>
+ <li>The deprecated <tt>admin</tt> role should not be assigned to any
+ user.</li>
+ <li>Users with the <tt>admin-gui</tt> role should not be granted the
+ <tt>admin-script</tt> role.</li>
+ <li>If the text interface is accessed through a browser (e.g. for testing
+ since this interface is intended for tools not humans) then the browser
+ must be closed afterwards to terminate the session.</li>
+ </ul>
+ </body>
+
+</html>
diff --git a/tomcat-uid/webapps/host-manager/WEB-INF/web.xml b/tomcat-uid/webapps/host-manager/WEB-INF/web.xml
new file mode 100644
index 0000000..101b463
--- /dev/null
+++ b/tomcat-uid/webapps/host-manager/WEB-INF/web.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ version="2.5">
+
+ <display-name>Tomcat Manager Application</display-name>
+ <description>
+ A scriptable management web application for the Tomcat Web Server;
+ Manager lets you view, load/unload/etc particular web applications.
+ </description>
+
+ <servlet>
+ <servlet-name>HostManager</servlet-name>
+ <servlet-class>org.apache.catalina.manager.host.HostManagerServlet</servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>2</param-value>
+ </init-param>
+ </servlet>
+ <servlet>
+ <servlet-name>HTMLHostManager</servlet-name>
+ <servlet-class>org.apache.catalina.manager.host.HTMLHostManagerServlet</servlet-class>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>2</param-value>
+ </init-param>
+ </servlet>
+
+ <!-- Define the Manager Servlet Mapping -->
+ <servlet-mapping>
+ <servlet-name>HostManager</servlet-name>
+ <url-pattern>/list</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>HostManager</servlet-name>
+ <url-pattern>/add</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>HostManager</servlet-name>
+ <url-pattern>/remove</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>HostManager</servlet-name>
+ <url-pattern>/start</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>HostManager</servlet-name>
+ <url-pattern>/stop</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>HTMLHostManager</servlet-name>
+ <url-pattern>/html/*</url-pattern>
+ </servlet-mapping>
+
+ <filter>
+ <filter-name>CSRF</filter-name>
+ <filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
+ <init-param>
+ <param-name>entryPoints</param-name>
+ <param-value>/html,/html/list</param-value>
+ </init-param>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>CSRF</filter-name>
+ <servlet-name>HTMLHostManager</servlet-name>
+ </filter-mapping>
+
+ <!-- Define a Security Constraint on this Application -->
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>HostManager commands</web-resource-name>
+ <url-pattern>/list</url-pattern>
+ <url-pattern>/add</url-pattern>
+ <url-pattern>/remove</url-pattern>
+ <url-pattern>/start</url-pattern>
+ <url-pattern>/stop</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <!-- NOTE: 1. These roles are not present in the default users file
+ 2. The admin role is deprecated, it will be removed in
+ Tomcat 7.
+ 3. Use the admin-script role to take advantage of the new
+ CSRF protection. Using the admin role or assigning both
+ the admin-script and admin-gui roles to the same user
+ will bypass the CSRF protection. -->
+ <role-name>admin</role-name>
+ <role-name>admin-script</role-name>
+ </auth-constraint>
+ </security-constraint>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>HTMLHostManager commands</web-resource-name>
+ <url-pattern>/html/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <!-- NOTE: 1. These roles are not present in the default users file
+ 2. The admin role is deprecated, it will be removed in
+ Tomcat 7.
+ 3. Use the admin-gui role to take advantage of the new
+ CSRF protection. Using the admin role or assigning both
+ the admin-script and admin-gui roles to the same user
+ will bypass the CSRF protection. -->
+ <role-name>admin</role-name>
+ <role-name>admin-gui</role-name>
+ </auth-constraint>
+ </security-constraint>
+
+ <!-- Define the Login Configuration for this Application -->
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ <realm-name>Tomcat Host Manager Application</realm-name>
+ </login-config>
+
+ <!-- Security roles referenced by this web application -->
+ <security-role>
+ <description>
+ The role that is required to access the text Host Manager pages
+ </description>
+ <role-name>admin-script</role-name>
+ </security-role>
+ <security-role>
+ <description>
+ The role that is required to access the HTML Host Manager pages
+ </description>
+ <role-name>admin-gui</role-name>
+ </security-role>
+ <security-role>
+ <description>
+ Deprecated role that can access all Host Manager functionality
+ </description>
+ <role-name>admin</role-name>
+ </security-role>
+
+ <error-page>
+ <error-code>401</error-code>
+ <location>/WEB-INF/jsp/401.jsp</location>
+ </error-page>
+ <error-page>
+ <error-code>403</error-code>
+ <location>/WEB-INF/jsp/403.jsp</location>
+ </error-page>
+
+</web-app>