Issue Resolved --
This method is being called from a request dispatcher "include". The only
instantiation of a DispatchedHttpServletRequest object that I could find is in
the PortletRequestDispatcherImpl class, and only for the case of a JSP
dispatcher "include".
Although the original request is made available to the
DispatchedHttpServletRequest object, it does not make use of it to provide
information such as the isUserInRole. The 2.2.1 code is the same as the 2.4
code.
SRV.8.3 "The Include Method" section of the 2.4 Servlet Specification states:
"The target servlet of the include method has access to all aspects of the
request object,"
Based on this statement from the spec, I would think that a call to
request.isUserInRole from the target servlet should return the same answer as
the call to the original request object. The following section 8.3.1 states
what must explicitly be included as request attributes, but it looks like this
implementation ignores the 8.3 statement above and supplies only those things
listed as "must be set".
It's probably irrelevant since I solved the problem by extracting the original
request from the dispatched request by:
<%
RenderRequest renderRequest = (RenderRequest)
request.getAttribute("javax.portlet.request");
if ( renderRequest.isUserInRole( "rolename" ) ) { . . . }
%>
It's not an obvious answer, so I hope this helps others who run into the same
problem.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982681#3982681
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3982681
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user