2010-04-12 2 views
1

J'ai une application qui utilise la sécurité Spring et BlazeDS. Flex 3.2 est utilisé pour l'application cliente. L'application client effectue généralement des appels de service à l'aide de RemoteObjects. Toutefois, dans certains cas, l'application cliente envoie une demande à une URL. Nous utilisons des contrôleurs annotés pour le mappage d'URL. Voici où le "Accès refusé" arrive exception:Printemps Sécurité Problème: Contrôleur, requêtes anonymes

2010-04-12 11: 43: 23486 [qtp5138683-16] ERREUR fr.plasticomnium.gpoc.utils.ServiceExceptionInterceptor - RuntimeException inattendue: Accès refusé org.springframework.security.access.AccessDeniedException: L'accès est refusé à org.springframework.security.access.vote.AffirmativeBased.decide (AffirmativeBased.java:71) à org.springframework.security.access.intercept.AbstractSecurityInterceptor. beforeInvocation (AbstractSecurityInterceptor.java:203) at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke (MethodSecurityInterceptor.java:64) at org.springfr amework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:172) à fr.plasticomnium.gpoc.utils.ServiceExceptionInterceptor.invoke (ServiceExceptionInterceptor.java:15) à org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:172) à org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:110) à org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:172) à org. springframework.aop.interceptor.ExposeInvocationInterceptor.invoke (ExposeInvocationInterceptor.java:89) à org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:172) à org.springfram ework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:202) ... ...

Répondre

1

La meilleure façon d'obtenir un aperçu de ce qui se passe est de manivelle connecter le DEBUG et puis jetez un coup d'œil aux journaux pendant que la demande incriminée est en cours. Je suppose que votre configuration SpringSecurity applique les mauvaises règles d'accès à la demande. Si vous publiez l'URL de la demande et la configuration du contrôle d'accès, nous serons peut-être en mesure de déterminer ce qui se passe exactement. Mais mon premier soupçon serait que:

  • vous avez les éléments <intercept-url> dans le mauvais ordre, ou
  • vous utilisez method attributs dans certains de vos éléments <intercept-url>, et n'ont pas obtenu votre tête autour de la (IMO contre-intuitive) conséquences.