Thanks for the info, Colin.

Ben, should we then be using the Request URL...
and doing some String VooDoo ala

   httpRequest.getRequestURL().endsWith(filterProcessesUrl)

or pick off the last token and compare.. whatever

Regardless, let me know how and when you are going to fix this.. OR

Let me know if you wanted me to submit a bug report and patch

Thanks,
Mark



Colin Sampaleanu <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]

06/09/04 08:40 AM
Please respond to acegisecurity-developer

       
        To:        [EMAIL PROTECTED]
        cc:        
        Subject:        Re: [Acegisecurity-developer] HttpServletRequest getters

       


There is to some extent the question of what is the servlet path
supposed to be to a filter, since the filter executes outside the
context of one particular servlet or another. So I think this is where
the problem stems from. At the time the filter is invoked, the actual
servlet which will handle the request is not necessarilly known (at
least that's how I read it). As such, a filter should not rely on the
getServletPath method. It should rely on the request url, the context
path, but that's it...


Ben Alex wrote:

>Hi everyone
>
>The Acegi Security System for Spring (http://acegisecurity.sourceforge.net)
>uses HttpServletRequest getters in a filter. I do all the development of the
>project using Jetty, but we've had a report of problems with WebSphere
>5.1.1. I'm writing to the Jetty list in the hope of gaining some
>clarification as to the correct behaviour of different HttpServletRequest
>getters.
>
>Here are our filter logging directives:
>
>logger.debug("REQ url: " + httpRequest.getRequestURL());
>logger.debug("REQ servlet path: " + httpRequest.getServletPath());
>logger.debug("REQ context path: " + httpRequest.getContextPath());
>logger.debug("REQ path info: " + httpRequest.getPathInfo());
>logger.debug("REQ path translated " + httpRequest.getPathTranslated());
>logger.debug("REQ request url: " + httpRequest.getRequestURL());
>
>Using Jetty 4.2.17 it returns:
>
>REQ url: http://localhost:8080/contacts/j_acegi_security_check
>REQ servlet path: /j_acegi_security_check
>REQ context path: /contacts
>REQ path info: null
>REQ path translated null
>REQ request url: http://localhost:8080/contacts/j_acegi_security_check
>
>Using WebSphere 5.1.1 (on a different machine) it returns:
>
>REQ url: http://localhost:9080/Permit/j_acegi_security_check
>REQ servlet path: /
>REQ context path: /Permit
>REQ path info: j_acegi_security_check
>REQ path translated
>/home/mark/Repositories/permit/PermitWeb/WebContent/j_acegi_security_check
>REQ request url: http://localhost:9080/Permit/j_acegi_security_check
>
>
>So, is getServletPath() and getPathInfo() correct for Jetty or WebSphere?
>We're trying to detect the getServletPath() output as per Jetty (ie
>/j_acegi_security_check) so we know our filter should do something.
>
>Any advice appreciated.
>
>Ben
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: GNOME Foundation
>Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
>GNOME Users and Developers European Conference, 28-30th June in Norway
>http://2004/guadec.org
>_______________________________________________
>Acegisecurity-developer mailing list
>[EMAIL PROTECTED]
>https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer
>  
>



-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Acegisecurity-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer

Reply via email to