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@7d8bb
bean type=nl.vda.icr.coworker.CoWorker
value=nl.vda.icr.role.Role@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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...