Thanks for your help. With the debugging tip you gave me, I was able to
figure it out.
It turns out that the problem was Class B trying to reference class A?
grant codeBase "file:Z:/CDAILY/WEB-INF/classes/-" {
permission java.lang.RuntimePermission "accessDeclaredMembers";
permission java.lang.RuntimePermission
"accessClassInPackage.com.MHSoftware.db.*";
};
Now all I have to figure out is how to handle the grant to the codebase when
I have a hundred jars...
George Sexton
MH Software, Inc.
http://www.mhsoftware.com/
Voice: 303 438 9585
> -----Original Message-----
> From: Larry Isaacs [mailto:[EMAIL PROTECTED]
> Sent: Friday, January 20, 2006 4:37 PM
> To: Tomcat Users List
> Subject: RE: ClassLoader/Security Manager Question
>
> For reasons that are difficult to predict or calculate,
> some other protection domain (i.e. codeBase) for somebody
> in the stack may be missing this permission. I've given
> up trying to figure these out after the obvious doesn't
> fix it.
>
> Try adding:
>
> -Djava.security.debug=access,failure
>
> to your Tomcat startup arguments. Hopefully you can capture
> the output around the point of failure. There will be a lot
> of output.
>
> Look for "access denied". That will give you the missing
> permission. Not to far below that you can find the domain
> that failed, which will give you the codeBase missing the
> permission. It is not unusual to see something unexpected.
> Somewhere below that you can see the permissions that this
> domain does currently have. This is where you might find that
> a permission you tried to grant has a typo, so it doesn't serve
> its purpose. Give it a try and see if anything turns up.
>
> Cheers,
> Larry
>
> > -----Original Message-----
> > From: George Sexton [mailto:[EMAIL PROTECTED]
> > Sent: Friday, January 20, 2006 3:46 PM
> > To: 'Tomcat Users List'
> > Subject: ClassLoader/Security Manager Question
> >
> > I'm trying to get my app to run under the security manager
> > and I'm hitting some problems.
> >
> > I have class B, derived from class A, in Jar B in the
> > WEB-INF/lib directory
> >
> > Class A is in Jar A in the shared/lib directory.
> >
> > I created an entry in the catalina.policy file:
> >
> > grant codeBase "file:${catalina.base}/shared/-" {
> > permission java.lang.RuntimePermission
> > "accessClassInPackage.*";
> > permission java.security.AllPermission; };
> >
> > When a method defined in Class A uses reflection to get the
> > constructors for Class B, the following error message happens:
> >
> > 01/20/2006 13:24:36 java.security.AccessControlException:
> > access denied (java.lang.RuntimePermission
> > accessDeclaredMembers) at
> > java.security.AccessControlContext.checkPermission(AccessContr
> > olContext.java
> > :264)
> > at
> > java.security.AccessController.checkPermission(AccessControlle
> > r.java:427)
> > at
> java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
> > at
> >
> java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1662)
> > at java.lang.Class.checkMemberAccess(Class.java:2125)
> > at java.lang.Class.getDeclaredConstructor(Class.java:1952)
> >
> > I've done some research and it seems like what I'm trying to
> > do should work if I specify accessClassInPackage. I've tried
> > explicitly setting the class A package in the
> > accessClassInPackage statement but I'm not making any headway.
> >
> > I would rather not put Jar A in WEB-INF/lib because I have
> > something like 100 contexts that all use that jar and I'm
> > already hitting issues with PermGenSpace. I also can't put
> > Jar B in shared/lib because of design (or lack thereof).
> >
> > Does anyone have any ideas (other than the obvious one of
> > putting Jar A in WEB-INF/lib)?
> >
> > George Sexton
> > MH Software, Inc.
> > http://www.mhsoftware.com/
> > Voice: 303 438 9585
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]