Bonjour,
J'essaie désespérément d'utiliser les customs attributes afin
de lier une liste de valeurs (String[]) à un utilisateur liferay.
Malheureusement, lorsque j'invoque le setAttribute() une PrincipalException
est levée lors du ExpandoColumnPermission.check()
J'ai adapté la méthode setPermission() de la page suivante :
http://www.liferay.com/community/wiki/-/wiki/Main/Adding+an+custom+attribute+to+a+Community
et les permissions VIEW et UPDATE on été ajoutées sur les colonnes de la table expando en question (DEFAULT).
Mais la PrincipalException saute toujours.

Est-ce que qqun aurait une idée ou un début de piste vers laquelle chercher ?
Voici un bout de la stackTrace :
110:35:10,075 ERROR [ExpandoBridgeImpl:280] com.liferay.portal.security.auth.PrincipalException
2com.liferay.portal.security.auth.PrincipalException
3 at com.liferay.portlet.expando.service.permission.ExpandoColumnPermission.check(ExpandoColumnPermission.java:67)
4 at com.liferay.portlet.expando.service.impl.ExpandoValueServiceImpl.addValue(ExpandoValueServiceImpl.java:50)
5 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
6 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
7 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
8 at java.lang.reflect.Method.invoke(Method.java:585)
9 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
10 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
11 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
12 at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77)
13 at com.liferay.portal.spring.aop.ServiceHookAdvice.invoke(ServiceHookAdvice.java:90)
14 at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
15 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
16 at java.lang.reflect.Method.invoke(Method.java:585)
17 at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627)
18 at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616)
19 at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64)
20 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
21 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
22 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
23 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
24 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
25 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
26 at $Proxy120.addValue(Unknown Source)
27 at com.liferay.portlet.expando.service.ExpandoValueServiceUtil.addValue(ExpandoValueServiceUtil.java:52)
28 at com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl.setAttribute(ExpandoBridgeImpl.java:275)
29 at monPackage.bean.UserBean.saveIds(UserBean.java:154)