Взгляните на протокол SPNEGO, это то, что Sharepoint (технически IIS) использует для аутентификации единого входа. Я не знаком с CXF, но, как правило, большинство платформ WebServices позволяют вам предоставлять дополнительные заголовки с вашим запросом. В основном вам нужно:
1. Get authentication token for the sharepoint from user session
2. Use JAAS to generate tokens.
Смотрите здесь http://appliedcrypto.com/spnego/spnego_jaasclient.html и здесь http://docs.oracle.com/javase/6/docs/technotes/guides/security/jgss/lab/part6.html для более подробной информации.
Для случая, когда вы хотите аутентифицировать пользователей браузера на sharepoint. Вы должны реализовать протокол SPNEGO в своем веб-приложении, например, вы можете использовать этот пакет, чтобы сделать это за вас. Большинство современных серверов приложений поддерживают протокол SPNEGO [JBoss, WebSphere]. После того, как вы внедрили протокол SPNEGO, вы можете получить токен kerberos из заголовка «Авторизация».
Тогда у вас есть два варианта:
Если ваше веб-приложение запускается с тем же удостоверением, что и интерфейс SharePoint, вы можете просто отправить тот же токен на sharepoint.
Если вы работаете под другим именем, вам нужно использовать токен пользователя, чтобы перейти в активный каталог и запросить билет на службу sharepoint от имени вашего пользователя. Учетная запись, под которой работает ваше веб-приложение, должна быть доверенной для делегирования в Active Directory
Кроме того, я не уверен, что SharePoint принимает маркеры kerberos в заголовках SOAP, я считаю, что вам нужно проходить аутентификацию с использованием заголовков HTTP.
Этот вопрос может вам помочь
Если вы хотите использовать функцию единого входа, то есть использовать текущую идентификацию пользователя, взгляните
здесь