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

cranphin do-not-reply at jboss.com
Fri Jul 20 10:58:51 EDT 2007


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 at 7d8bb
bean type=nl.vda.icr.coworker.CoWorker
value=nl.vda.icr.role.Role at 25
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



More information about the jboss-user mailing list