Details
-
Bug
-
Resolution: Duplicate
-
Neutral
-
4.5.4
-
None
-
osx-10.8.2 tomcat-7.0.29
Description
MgnlUser.hasRole does never return true. A quick way to reproduce it is via groovy console on a fresh 4.5.4 install:
mgnl> user=ctx.getUser()
===>
MgnlUser - superuser [51ae3379-67cf-4994-9e05-f97cb8bc3e4a]
mgnl> user.getAllRoles()
===>
[superuser]
mgnl> user.hasRole("superuser")
===>
false
mgnl>
Debugging shows that it fails at:
2012-10-06 13:31:34,067 DEBUG nolia.cms.security.RepositoryBackedSecurityManager: property /admin/superuser/roles/jcr:mixinTypes is a multi-valued property, so it's values can only be retrieved as an array javax.jcr.ValueFormatException: property /admin/superuser/roles/jcr:mixinTypes is a multi-valued property, so it's values can only be retrieved as an array at org.apache.jackrabbit.core.PropertyImpl.internalGetValue(PropertyImpl.java:483) at org.apache.jackrabbit.core.PropertyImpl.getValue(PropertyImpl.java:510) at org.apache.jackrabbit.core.PropertyImpl.getString(PropertyImpl.java:520) at info.magnolia.cms.security.RepositoryBackedSecurityManager$1.exec(RepositoryBackedSecurityManager.java:106) at info.magnolia.cms.security.RepositoryBackedSecurityManager$1.exec(RepositoryBackedSecurityManager.java:90) at info.magnolia.cms.security.JCRSessionOp.exec(JCRSessionOp.java:69) at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:403) at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:376) at info.magnolia.cms.security.RepositoryBackedSecurityManager.hasAny(RepositoryBackedSecurityManager.java:90) at info.magnolia.cms.security.MgnlUser.hasRole(MgnlUser.java:168)
A workaround is:
user.getAllRoles().contains("superuser")
Checklists
Acceptance criteria
Attachments
Issue Links
- duplicates
-
MAGNOLIA-4480 MgnlContext.getUser().inGroup("xxx") throws NPE
-
- Closed
-