JpaPermissionStore fails using diffent properties for PermissionRole and PermissionUser on
the same entity
----------------------------------------------------------------------------------------------------------
Key: JBSEAM-3619
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3619
Project: Seam
Issue Type: Bug
Components: Security
Affects Versions: 2.1.0.GA
Environment: JBoss 4.2.2 JVM 1.6.0
Reporter: Stefano Travelli
JpaPermissionStore can be configured omitting the role-permission-class. In such a case
the user-permission-class entity is used for both users and roles permission assignments.
In this configuration is @PermissionRole and @PermissionUser can annotate the same
property, as in the seam-space example.
While using two different properties is not as valuable in this scenario, if one do this
way the JpaPermissionStore uses only the one annotated as @PermissionUser.
Bigger problems arise if @PermissionUser and @PermissionStore are ManyToOne properties
since granting a permission to a role results in:
java.lang.IllegalArgumentException: Could not invoke method by reflection:
Permission.setOperatore(eu.entaksi.getin.model.Operatore) with parameters:
(eu.entaksi.getin.model.Ruolo) on: eu.entaksi.getin.model.Permission
at org.jboss.seam.util.Reflections.invoke(Reflections.java:32)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:126)
at org.jboss.seam.util.AnnotatedBeanProperty.setValue(AnnotatedBeanProperty.java:103)
at
org.jboss.seam.security.permission.JpaPermissionStore.updatePermissionActions(JpaPermissionStore.java:372)
... 101 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
I'm almost done with a patch.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira