Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JBoss User Help »

[jboss-user] [JBoss AOP] - (AopC) Compiled AOP in signed
 jars/applet.

scott.stark@jboss.org

2007-07-20


Hi!

I'm using JBoss AOP (1.5.5 GA) in a signed applet. And am encountering some security problems.
I expect this to be due to runtime generated classes (which ofcourse don't come from any of the signed jars).
In debugging this leads to the 'default' ProtectionDomain ending up in the AccessControlContext, which makes the security manager deny my code any rights other then default applet rights.

I'm using the JavaBean aspect from here:
http://www.damnhandy.com/?page_id=17

And the class in the stacktrace I suspect is causing trouble is:
PropertyChangeAspect34

I'd like to know why/how/where the PropertyChangeAspect## classes are generated when I'm using the AOP compiler (so no loadtime weaving).
And I'd like to know if there's any way to work around this problem.

Help? :)

I'll very happily provide any additional details if needed/requested.

Full trace:
Exception in thread "AWT-EventQueue-2" com.jgoodies.binding.beans.PropertyAccessException: Failed to set an adapted Java Bean property.
cause=java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
bean=nl.vda.icr.coworker.CoWorker@(protected)
bean type=nl.vda.icr.coworker.CoWorker
value=nl.vda.icr.role.Role@(protected)
value type=nl.vda.icr.role.Role
property name=role
property type=nl.vda.icr.role.Role
property setter=public void nl.vda.icr.coworker.CoWorker.setRole(nl.vda.icr.role.Role)
 at com.jgoodies.binding.beans.PropertyAccessException.createWriteAccessException(PropertyAccessException.java:133)
 at com.jgoodies.binding.beans.BeanUtils.setValue(BeanUtils.java:627)
 at com.jgoodies.binding.beans.BeanAdapter.setValue0(BeanAdapter.java:1157)
 at com.jgoodies.binding.beans.BeanAdapter.access$600(BeanAdapter.java:284)
 at com.jgoodies.binding.beans.BeanAdapter$SimplePropertyAdapter.setValue(BeanAdapter.java:1337)
 at com.jgoodies.binding.list.SelectionInList$SelectionIndexChangeHandler.propertyChange(SelectionInList.java:1163)
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
 at com.jgoodies.binding.beans.ExtendedPropertyChangeSupport.firePropertyChange(ExtendedPropertyChangeSupport.java:200)
 at com.jgoodies.binding.beans.ExtendedPropertyChangeSupport.firePropertyChange(ExtendedPropertyChangeSupport.java:156)
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
 at com.jgoodies.binding.beans.ExtendedPropertyChangeSupport.firePropertyChange(ExtendedPropertyChangeSupport.java:235)
 at com.jgoodies.binding.beans.Model.firePropertyChange(Model.java:455)
 at com.jgoodies.binding.value.AbstractValueModel.fireValueChange(AbstractValueModel.java:129)
 at com.jgoodies.binding.value.ValueHolder.setValue(ValueHolder.java:233)
 at com.jgoodies.binding.value.ValueHolder.setValue(ValueHolder.java:181)
 at com.jgoodies.binding.list.SelectionInList.setSelectionIndex(SelectionInList.java:680)
 at com.jgoodies.binding.list.SelectionInList.setSelection(SelectionInList.java:616)
 at com.jgoodies.binding.list.SelectionInList.setValue(SelectionInList.java:781)
 at com.jgoodies.binding.adapter.ComboBoxAdapter.setSelectedItem(ComboBoxAdapter.java:262)
 at javax.swing.JComboBox.setSelectedItem(Unknown Source)
 at javax.swing.JComboBox.setSelectedIndex(Unknown Source)
 at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(Unknown Source)
 at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
 at java.awt.Component.processMouseEvent(Unknown Source)
 at javax.swing.JComponent.processMouseEvent(Unknown Source)
 at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(Unknown Source)
 at java.awt.Component.processEvent(Unknown Source)
 at java.awt.Container.processEvent(Unknown Source)
 at java.awt.Component.dispatchEventImpl(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.EventQueue.dispatchEvent(Unknown Source)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
 at java.security.AccessControlContext.checkPermission(Unknown Source)
 at java.security.AccessController.checkPermission(Unknown Source)
 at java.lang.SecurityManager.checkPermission(Unknown Source)
 at java.lang.SecurityManager.checkMemberAccess(Unknown Source)
 at java.lang.Class.checkMemberAccess(Unknown Source)
 at java.lang.Class.getDeclaredMethods(Unknown Source)
 at org.hibernate.reflection.java.JavaXClass.getDeclaredMethods(JavaXClass.java:110)
 at org.hibernate.validator.ClassValidator.initValidator (ClassValidator.java:213)
 at org.hibernate.validator.ClassValidator.(ClassValidator.java:134)
 at org.hibernate.validator.ClassValidator.(ClassValidator.java:105)
 at nl.vda.icr.applet.apppanel.views.propertiespanel.PropertiesPanelPresentationModel.updateValidationResult(PropertiesPanelPresentationModel.java:91)
 at nl.vda.icr.applet.apppanel.views.propertiespanel.PropertiesPanelPresentationModel.access$200(PropertiesPanelPresentationModel.java:23)
 at nl.vda.icr.applet.apppanel.views.propertiespanel.PropertiesPanelPresentationModel$ValidationUpdateHandler.propertyChange(PropertiesPanelPresentationModel.java:109)
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
 at com.damnhandy.aspects.bean.JavaBeanMixin.firePropertyChange(JavaBeanMixin.java:81)
 at nl.vda.icr.coworker.CoWorker.nl$vda$icr$coworker$CoWorker$firePropertyChange$aop(CoWorker.java)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
 at org.jboss.aop.ClassAdvisor.invokeMethod(ClassAdvisor.java:1720)
 at org.jboss.aop.ClassAdvisor.invokeMethod(ClassAdvisor.java:1704)
 at nl.vda.icr.coworker.CoWorker.firePropertyChange(CoWorker.java)
 at com.damnhandy.aspects.bean.PropertyChangeAspect.firePropertyChange(PropertyChangeAspect.java:109)
 at com.damnhandy.aspects.bean.PropertyChangeAspect.fieldChangeAdvice(PropertyChangeAspect.java:50)
 at org.jboss.aop.advice.com.damnhandy.aspects.bean.PropertyChangeAspect34.invoke(PropertyChangeAspect34.java)
 at nl.vda.icr.coworker.CoWorker$role_Set.invokeNext(CoWorker$role_Set.java)
 at nl.vda.icr.coworker.CoWorker.role_w_$aop(CoWorker.java)
 at nl.vda.icr.coworker.CoWorker.setRole(CoWorker.java:56)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at com.jgoodies.binding.beans.BeanUtils.setValue(BeanUtils.java:621)
 ... 42 more

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066239#4066239

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4066239
_______________________________________________
jboss-user mailing list
jboss-user@(protected)
https://lists.jboss.org/mailman/listinfo/jboss-user
©2008 junlu.com - Jax Systems, LLC, U.S.A.