Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2-EE-GA_P01
-
Fix Version/s: 1.8.2-EE-GA_P02
-
Component/s: Framework
-
Labels:None
-
Environment:ICEfaces portlet
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial
Description
A customer running a portlet on WebLogic wants to use the Authentication.login() API provided by the container. The signature of that method, surprisingly, requires direct access to the HttpServletRequest and HttpServletResponse:
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/javadoc/com/bea/p13n/security/Authentication.html
In WebLogic, it appears that calling ExternalRequest.getRequest() in a portlet actually returns something that can be used as an HttpServletRequest. However, with ICEfaces, we provide a PortletExternalContext implementation that returns a PortletRequest of our own and there doesn't currently seem to be a way to drill down and get at the original request to pass into the login() method.
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/javadoc/com/bea/p13n/security/Authentication.html
In WebLogic, it appears that calling ExternalRequest.getRequest() in a portlet actually returns something that can be used as an HttpServletRequest. However, with ICEfaces, we provide a PortletExternalContext implementation that returns a PortletRequest of our own and there doesn't currently seem to be a way to drill down and get at the original request to pass into the login() method.
I have found a similar issue when running under a Servlet 3 environment. I think the specification means that you should be able to access the actual environment implementation when you call getRequest on the ExternalContext, which should give you the real servlet/portlet request. However, the actual result is a wrapper (the anonymous inner class ServletExternalContext) which means you cannot access the real request. I posted this:
http://www.icesoft.org/JForum/posts/list/22555.page
This was found when using ICEfacesEE 1.8.2.GA_P03.