Spring Security Issue: контроллер, анонимные запросы - PullRequest
1 голос
/ 12 апреля 2010

У меня есть приложение, которое использует Spring Security и BlazeDS. Flex 3.2 используется для клиентского приложения. Обычно клиентское приложение выполняет сервисные вызовы, используя RemoteObjects.

Однако в некоторых случаях клиентское приложение отправляет запрос на URL. Мы используем аннотированные контроллеры для сопоставления URL. Вот где возникает исключение «Отказано в доступе»:

2010-04-12 11: 43: 23,486 [qtp5138683-16] ОШИБКА fr.plasticomnium.gpoc.utils.ServiceExceptionInterceptor - непредвиденное исключение времени выполнения: доступ запрещен org.springframework.security.access.AccessDeniedException: доступ запрещен на org.springframework.security.access.vote.AffirrativeBased.decide (AffirrativeBased.java:71) в org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation (AbstractSecurityInterceptor.java:203) в org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke (MethodSecurityInterceptor.java:64) в org.springframework.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.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:202) ... ...

1 Ответ

1 голос
/ 12 апреля 2010

Лучший способ получить представление о том, что происходит, - запустить регистрацию DEBUG, а затем просмотреть журналы во время выполнения оскорбительного запроса.

Я предполагаю, что ваша конфигурация SpringSecurity применяет неправильные правила доступа к запросу. Если вы разместите URL-адрес запроса и конфигурацию управления доступом, мы сможем выяснить, что именно происходит. Но мое первоначальное подозрение было бы таким:

  • у вас есть элементы <intercept-url> в неправильном порядке, или
  • вы используете method атрибуты в некоторых ваших <intercept-url> элементах, и не разбираетесь в (нелогичных IMO) последствиях.
...