[
https://issues.apache.org/struts/browse/WW-2121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Holmes closed WW-2121.
----------------------------
Resolution: Not A Problem
These types of questions should be asked on the Struts users mailing list:
http://struts.apache.org/mail.html
> I want to secure my web application using Container managed security by using
> Websphere Application Server6.1.the security credentials are not propagated
> to the Filter class.Where as the same works 100% fine in TOMCAT server.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WW-2121
> URL: https://issues.apache.org/struts/browse/WW-2121
> Project: Struts 2
> Issue Type: Bug
> Environment: Websphere Application Server 6.1
> Struts 2.0.9
> Rational Application Developer 7
> Reporter: Balamurugan
>
> Hi ,
> I am newbie to Struts2. I have the following issue while configuring the
> container managed security in Struts2 with Websphere Application Server 6.1.
> ..Need urgent assistance Please...
> I don't know that this is the correct forum to post this query.If not kindly
> let me know the correct forum where i can post.
> Issue:
> --------
> I want to secure my web application using Container managed security by
> using Websphere Application Server6.1. Secured all the URLs by placing a
> security constraint and map the relevant users/groups in my web.xml.But the
> security credentials are not propagated to the Filter class.Where as the same
> works 100% fine in TOMCAT server.
> After configuring all container managed security we were able to get the
> security credentials like remoteUser in JSP.But when the form is submitted
> to the action class by having the Filter as a controller we are not able to
> get the remoteUser by calling request.getRemoteUser() at the Action .
> Wat we inferred is that the Userprinpical context in the request parameter is
> not available at the Filter.
> Below are the entries which we have in web.xml
> <security-constraint>
> <display-name>
> secconst12</display-name>
> <web-resource-collection>
> <web-resource-name>secweb1234</web-resource-name>
> <url-pattern>*.action</url-pattern>
> <url-pattern>/*</url-pattern>
> <url-pattern>*</url-pattern>
> <http-method>GET</http-method>
> <http-method>PUT</http-method>
> <http-method>HEAD</http-method>
> <http-method>TRACE</http-method>
> <http-method>POST</http-method>
> <http-method>DELETE</http-method>
> <http-method>OPTIONS</http-method>
> </web-resource-collection>
> <auth-constraint>
> <description>
> secAuthConst12</description>
> <role-name>secrole12</role-name>
> </auth-constraint>
> </security-constraint>
> <login-config>
> <auth-method>BASIC</auth-method>
> <realm-name>DirRealm</realm-name>
> </login-config>
> <security-role>
> <role-name>secrole12</role-name>
> </security-role>
> Below are the steps we tried to get a basic idea.For that we wrote a sample
> Servlet and sample Filter and configured it in our web.xml as shown in below
> and tested the application..
> Approach 1
> ----------------
> 1) Having a Servlet as a controller.(Submit the jsp form to a Servlet)
> 1)we have the following entries in web.xml
> <servlet>
> <description></description>
> <display-name>SampleServletController</display-name>
> <servlet-name>SampleServletController</servlet-name>
>
> <servlet-class>com.xxx.xxx.xxx.SampleServletController</servlet-class>
> </servlet>
> <servlet-mapping>
> <servlet-name>SampleServletController</servlet-name>
> <url-pattern>*.action</url-pattern>
> </servlet-mapping>
> 2) When we call the request.getRemoteUser() in the servlet's doPost
> method we can able to get the remoteUser name by calling
> request.getRemoteUser() method.
> Output
> ----------
> This approach works fine in both ApacheTomacat6.0.14 and Websphere
> Application Server6.1. (ie) we can able to get the remoteUser in servlet's
> doPost() method.
>
> Approach 2
> ----------------
> 2) Having a Servlet Filter as a controller.(Submit the form to a Servlet
> Filter) -
> 1)we have the following entries in web.xml
> <filter>
> <description></description>
> <display-name>SampleFilterController</display-name>
> <filter-name>SampleFilterController</filter-name>
>
> <filter-class>com.xxx.xxx.xxx.SampleFilterController</filter-class>
> </filter>
> <filter-mapping>
> <filter-name>SampleFilterController</filter-name>
> <url-pattern>*.action</url-pattern>
> </filter-mapping>
> Output
> ---------
> 1) In Apache Tomcat 6.0.14 when we call the request.getRemoteUser() in
> the Filter's doFilter() method we got the remoteUser name.
> 2) In Websphere Application Server 6.1 when we call the
> request.getRemoteUser() in the Filter's doFilter() method we got null.
> The above scenarios clearly flags that the application works fine in TOMCAT
> and doesn't in the WebSphere Application Server when we have the Servlet
> Filter as controller. Please let us know what would be required to be done to
> make it work.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.