2015-04-10 3 views
0

Я экспортирую набор веб-сервисов REST, которые защищены с помощью HTTP BASIC. Моя конфигурация Spring хорошо работала, но недавно я обнаружил, что она вообще не работает, поскольку она обеспечивает доступ к некоторым веб-сервисам без предоставления пользователю/паролю. Глядя на бревна, я вижу следующее:Конфигурация Spring безопасности не фильтрует защищенный доступ

2015-04-10 16:26:58,811 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 1 of 9 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 
2015-04-10 16:26:58,811 DEBUG HttpSessionSecurityContextRepository: 140 - No HttpSession currently exists 
2015-04-10 16:26:58,812 DEBUG HttpSessionSecurityContextRepository: 91 - No SecurityContext was available from the HttpSession: null. A new one will be created. 
2015-04-10 16:26:58,812 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 2 of 9 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter' 
2015-04-10 16:26:58,812 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 3 of 9 in additional filter chain; firing Filter: 'BasicAuthenticationFilter' 
2015-04-10 16:26:58,812 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 4 of 9 in additional filter chain; firing Filter: 'RequestCacheAwareFilter' 
2015-04-10 16:26:58,812 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 5 of 9 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter' 
2015-04-10 16:26:58,812 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 6 of 9 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter' 
2015-04-10 16:26:58,813 DEBUG AnonymousAuthenticationFilter: 102 - Populated SecurityContextHolder with anonymous token: 'org.sprin[email protected]9055c2bc: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS' 
2015-04-10 16:26:58,813 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 7 of 9 in additional filter chain; firing Filter: 'SessionManagementFilter' 
2015-04-10 16:26:58,813 DEBUG SessionManagementFilter: 92 - Requested session ID 35A9CBAD338A61BA5D0B7A5D1D821628 is invalid. 
2015-04-10 16:26:58,813 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 8 of 9 in additional filter chain; firing Filter: 'ExceptionTranslationFilter' 
2015-04-10 16:26:58,813 DEBUG FilterChainProxy: 337 - /statefull/f/search/hostname/DESKTOP-OMAR/deviceId/65536?format=json at position 9 of 9 in additional filter chain; firing Filter: 'FilterSecurityInterceptor' 
2015-04-10 16:26:58,813 DEBUG FilterSecurityInterceptor: 185 - Public object - authentication not attempted 

Предоставленный URL-адрес рассматривается как «общественный объект» по неизвестной причине. Моя конфигурация выглядит следующим образом:

<s:global-method-security 
     secured-annotations="enabled" 
     pre-post-annotations="enabled" /> 

<s:http use-expressions="true" realm="My Webservice" create-session="ifRequired"> 
    <s:http-basic /> 
    <s:intercept-url pattern='/**'/> 
</s:http> 

Кто-нибудь увидеть, что может быть проблема?

ответ

1

Вы пропустили access атрибут (http://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html)

<intercept-url pattern="/**" access="denyAll" /> 

Я бы ожидать, что весна будет жаловаться о неправильной конфигурации, поэтому, возможно, файл конфигурации не принимается во внимание при всех (или I`am неправильно)

+0

Кажется, что ваш ответ прав, и мой код ошибочен с давних времен ... Спасибо –

Смежные вопросы