You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Matt Brown <Ma...@citrixOnline.com> on 2009/05/04 17:31:33 UTC

How does the Tomcat Manager guess at "user name"?

The "Sessions Administration" page within the Tomcat Manager (i.e., /manager/html/sessions?path=/) has two columns for "Guessed Locale" and "Guessed User name".

Does anyone know how the manager app "guesses" at these two values?

My app stores the user's username (and locale) in session, but both are buried somewhere in an object graph in one of the session attributes. I think it might be kind of useful to be able to see this data displayed within Session Administration, but I just have no idea what to do to enable Tomcat Manager to effectively guess at this.

Does anyone know how the guessing is done?

Thanks



Matt Brown
Citrix Online
Audio Services
matt.brown@citrix.com<ma...@citrix.com>
201-420-1155 x42



RE: How does the Tomcat Manager guess at "user name"?

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: Matt Brown [mailto:Matt.Brown@citrixOnline.com]
> Subject: How does the Tomcat Manager guess at "user name"?
> 
> Does anyone know how the manager app "guesses" at these two values?

Might be easiest for you to look at the code yourself.  In 6.0.18, the file of interest is:
  org/apache/catalina/manager/util/SessionUtils.java
and the methods are guessUserFromSession() and guessLocaleFromSession().

For the user name, the manager uses the Session.getPrincipal() if available; if not, it tries the following Session attribute names:
  Login
  User
  userName
  UserName
  Utilisateur
using the given case, lower case, and upper case.  Failing that, it searches for attributes that are instances of java.security.Principal or javax.security.auth.Subject.

For locale, the manager tries the following attribute names:
  org.apache.struts.action.LOCALE
  org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE
  javax.servlet.jsp.jstl.fmt.locale
  Locale
  java.util.Locale
again using the given case, lower case, and upper case.  Additional checks are made for an attribute name containing both "tapestry" and "engine", and instances of java.util.Locale.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.


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