Details
Description
ServletEnvironmentRequest wraps only the frist HttpServletRequest in session, and from this came the problem of using isUserInRole from ExternalContext
when using JAAS security (not Acegi).
I've observed that when in web.xml I add login-config with auth-method set to BASIC IceFaces wraps in ServletEnvironmentRequest first request which is simply a request to access an application without loaded users roles. After this first reqest server sends information about authorization, and if it success the second requst will have all information about roles and pricipals.
I thinkt that even wrapping only the frist request won't causes this bug it should be always actualized, so developer can access current request not the one from starting the session.
when using JAAS security (not Acegi).
I've observed that when in web.xml I add login-config with auth-method set to BASIC IceFaces wraps in ServletEnvironmentRequest first request which is simply a request to access an application without loaded users roles. After this first reqest server sends information about authorization, and if it success the second requst will have all information about roles and pricipals.
I thinkt that even wrapping only the frist request won't causes this bug it should be always actualized, so developer can access current request not the one from starting the session.
Activity
| Field | Original Value | New Value |
|---|---|---|
| Attachment | patch.txt [ 10661 ] |
| Fix Version/s | 1.6.2 [ 10111 ] | |
| Assignee Priority | P2 | |
| Assignee | Mircea Toma [ mircea.toma ] |
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #15041 | Mon Oct 29 12:11:29 MDT 2007 | mircea.toma | Introduce abstraction (AuthenticationVerifier) backed by JAAS or ACEGI implementations. JAAS implementation uses the active request to check user's role. |
| Files Changed | ||||
ADD
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/env/AuthenticationVerifier.java
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/env/ServletEnvironmentRequest.java
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/env/AcegiAuthWrapper.java
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/context/View.java
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/portlet/PortletExternalContext.java
|
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #15048 | Tue Oct 30 14:57:36 MDT 2007 | mircea.toma | Introduce abstraction (AuthenticationVerifier) backed by JAAS or ACEGI implementations. JAAS implementation uses the active request to check user's role. |
| Files Changed | ||||
MODIFY
/icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/webapp/http/portlet/PortletExternalContext.java
MODIFY
/icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/env/AcegiAuthWrapper.java
MODIFY
/icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/env/ServletEnvironmentRequest.java
MODIFY
/icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/context/View.java
MODIFY
/icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
ADD
/icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/env/AuthenticationVerifier.java
|
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
| Fix Version/s | 1.7DR#3 [ 10112 ] |
| Fix Version/s | 1.7 [ 10080 ] |
| Status | Resolved [ 5 ] | Closed [ 6 ] |
| Assignee Priority | P2 | |
| Assignee | Mircea Toma [ mircea.toma ] |

This bug also make application unable to call secured EJB methods.