Problems with myfaces when java2 security is enabled
----------------------------------------------------

                 Key: MYFACES-1879
                 URL: https://issues.apache.org/jira/browse/MYFACES-1879
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 1.2.3
            Reporter: Michael Concini


When running MyFaces 1.2 on an application server with java2 security turned 
on, a user can receive an AccessControlException from several locations within 
the code, in some cases preventing the application from working in the 
environment. 

There are several places in the myfaces code that should be updated to include 
a doPriv when java2 security is on.  Specifically in locations where the code 
is executing a call to Thread.currentThread().getContextClassLoader(), as well 
as in the JspStateManagerImpl's deserializeView() method.  

for example (in the classloader case):

if (System.getSecurityManager() != null) {
        try {
                Object cl = AccessController.doPrivileged(new 
PrivilegedExceptionAction() {
                                public Object run() throws 
PrivilegedActionException {
                                        return 
Thread.currentThread().getContextClassLoader();
                                }
                });
                return (ClassLoader) cl;
        } catch (PrivilegedActionException pae) {
                throw new FacesException(pae);
        }
}else{
        return Thread.currentThread().getContextClassLoader();
}

If its agreed that the change should be implemented, I'd be happy to perform 
the changes myself and supply a patch.  I also thought that it might make sense 
to, at least for the ClassLoader lookup, create a method in ClassUtils called 
getContextClassloader that could be called elsewhere for efficiency's sake. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to