Я создаю веб-сервис, который использует весенний mvc 4 в качестве рамки. Мой веб-сервис имеет apis, который имеет подпись/api/v1/apinameПоставщик весны безопасности для входа в систему и безопасности api
Мои услуги вызываются внешними службами и которые должны быть аутентифицированы. Я предпочитаю использовать предварительно авторизированный токен для службы, которую я могу читать и выполнять авторизацию.
В случае, если на моем веб-сайте, который размещен на той же службе, используется sso для подписки, в которой в основном используются файлы cookie для аутентификации пользователя.
Я разработал частичный код, который поддерживает логин с использованием маркера заголовка и единого входа. Но мне нужно убедиться, что все api должны вернуть мне 401, если они не аутентифицированы, а доступ к веб-странице должен перенаправляться на внешнюю службу аутентификации sso.
http.anonymous().disable()
.authorizeRequests()
.antMatchers("/login").permitAll()
.antMatchers("/resources/protected**").denyAll()
.antMatchers("/**").fullyAuthenticated()
.and()
.csrf().disable()
.logout().logoutUrl("/logout").logoutSuccessUrl("/")
.and()
.addFilterBefore(new TokenAuthenticationFilter(authenticationManager()), BasicAuthenticationFilter.class)
.addFilterBefore(new CookieAuthenticationFilter(authenticationManager()), BasicAuthenticationFilter.class);
Здесь CookieAuthenticationFilter будет делать проверку подлинности на основе печенья ... Моя проблема здесь есть, упаковывают все просьбы апи должны вернуть 401 как статус и все другие запросы должны перенаправлять на внешний сервис упаковывают ООН несанкционированного доступа. Как я могу это достичь.