Konstantin Kolinko wrote:
2010/7/7 André Warnier <a...@ice-sa.com>:
I have made the change in the Manager's web.xml, restarted Tomcat, and so
far all the manager functions and links seem to be working fine.
Namely, I have added this mapping at the end of the existing
servlet-mappings of the manager webapp's web.xml :

existing :
...
 <servlet-mapping>
   <servlet-name>HTMLManager</servlet-name>
   <url-pattern>/html/*</url-pattern>
 </servlet-mapping>

added:
 <servlet-mapping>
   <servlet-name>HTMLManager</servlet-name>
   <url-pattern>/*</url-pattern>
 </servlet-mapping>

In my understanding of the URL-mapping rules,
- the "/manager" part determines which URLs get mapped to the Manager
application
- then, after this "/manager" is stripped, for the remainder, the longest
matching mapping "wins".
So the "/*" mapping above should win only if none of the others does, no ?

Am I missing something ?


1) The HTMLManager servlet uses the part of URI after "/html" (aka
request.getPathInfo()) as the command to be executed.

Having it mapped to two different addresses creates an ambiguity,  and
well as may bypass security constraints specified in its web.xml

2) I think that adding /index.jsp that will respond to the client with
a 301 redirect to contextPath + "/html" will work,  but I am not sure
that this feature is actually needed.


I have now tested the above change also with this version :
C:\apache-tomcat-6.0.24\bin>version
Using CATALINA_BASE:   C:\apache-tomcat-6.0.24
Using CATALINA_HOME:   C:\apache-tomcat-6.0.24
Using CATALINA_TMPDIR: C:\apache-tomcat-6.0.24\temp
Using JRE_HOME:        C:\Java6jdk
Using CLASSPATH:       C:\apache-tomcat-6.0.24\bin\bootstrap.jar
Server version: Apache Tomcat/6.0.24
Server built:   January 19 2010 1439
Server number:  6.0.0.0
OS Name:        Windows XP
OS Version:     5.1
Architecture:   x86
JVM Version:    1.6.0_06-b02
JVM Vendor:     Sun Microsystems Inc.
C:\apache-tomcat-6.0.24\bin>

and I also see no doomsday effects.
My earlier notes about how it behaves with a selection of URLs under Tomcat 5.5 seem also valid for this version 6.0 above. (Granted, apart from the /manager/images path. That one is broken. But that should easily be fixable, no ?).

About remark 1) above :
- as per my understanding, that should still work after the change. Any URL path beginning with "/manager/html" will still be mapped the same way, and getPathInfo() will still return the same answer, no ? - on the face of it, I see nothing in the manager's web.xml of the Windows distribution of Tomcat 5.5 or 6.0, that would create a security issue with this. The whole webapp is under the same security constraints, so even just "/manager" will ask for authentication.

As far as I know, I am not making any changes to the logic of the manager application by doing this. All I am doing is making the HTMLManager servlet be the default servlet. So when a user requests any URL starting with "/manager" and not specifically matching any of the specific other manager servlets, they will get the HTML manager's starting page.
Is that bad ?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to