我有一個來自Web應用程序的Java EE Web應用程序我必須使用期望Kerberos/NTLM身份驗證的SharePoint Web服務我該如何實現。我正在使用CXF來使用Web服務,它使用Windows集成身份驗證進行身份驗證的Web應用程序。使用CXF與Kerberos/NTLM身份驗證從Java Webapp的SharePoint Webservice
回答
看看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瞭解更多詳情。
對於您想要驗證瀏覽器用戶共享點的情況。你必須在你的web應用中實現SPNEGO協議,例如你可以使用this包做它。大多數現代應用服務器都支持SPNEGO協議[JBoss,WebSphere]。在您實施SPNEGO協議後,您可以從'授權'標頭獲取kerberos標記。
這時你有兩種選擇:
如果你運行你的web應用程序使用相同的標識SharePoint前端你可以重新發送同樣的道理到SharePoint。
如果您以不同的身份運行,您必須使用用戶的令牌轉到活動目錄並代表您的用戶請求Sharepoint服務的票證。你的web應用程序下運行的帳戶在Active Directory中
另外要受信任的委派,我不知道的SharePoint接受SOAP消息頭中的Kerberos標記,我相信你有使用HTTP標頭進行身份驗證。
This問題可以幫助你
如果你想上的功能使用當前用戶的身份來看看 here
您提到的用於從Java桌面客戶端訪問的所有鏈接,但我的要求是我想從Web應用程序訪問Web服務。 Web服務的身份驗證憑證應該是Web應用程序用戶的憑證。有什麼方法可以在SOAP頭中附加kerberos標記嗎? – 2012-02-23 14:06:53
我明白了。我編輯了回覆,以涵蓋WebApps – Vlad 2012-02-24 15:02:21
感謝Vlad我們正在做的錯誤是在使用HTTP標頭工作後將標記添加到SOAP標頭。非常感謝 – 2012-03-04 13:40:34
- 1. Webservice身份驗證
- 2. Java WebApp中的CAC身份驗證
- 3. 使用ldap身份驗證的Geronimo webapp
- 4. java Apache Cxf HTTP身份驗證
- 5. CXF + wsdl2java +身份驗證
- 6. 使用webservice的Symfony2身份驗證
- 7. 使用Soap Header的WebService身份驗證
- 8. Python Webservice呼籲與Windows身份驗證
- 9. Prestashop webservice身份驗證
- 10. Rally webservice - 身份驗證
- 11. 在jax-rs webservice中處理身份驗證和授權,使用cxf
- 12. 的Apache CXF基本身份驗證
- 13. 使用Webclient進行SharePoint身份驗證
- 14. 如何使用Kerberos身份驗證從c#客戶端調用Sharepoint Webservice?
- 15. Sharepoint 2010身份驗證與PHP
- 16. 使用Okta從Java應用程序與Sharepoint進行身份驗證
- 17. Sharepoint表單身份驗證
- 18. Sharepoint 2013身份驗證
- 19. Sharepoint身份驗證.Net
- 20. Sharepoint Azure AD身份驗證
- 21. Sharepoint多重身份驗證
- 22. Sharepoint wss 3.0身份驗證
- 23. 如何使用身份驗證從webservice使用xml?
- 24. 使用asp.net身份驗證與自定義身份驗證
- 25. 使用CXF框架和CXFNonSpringServlet爲WebService(WebApplication Server)配置SSL身份驗證
- 26. Livelink WCF Webservice - 身份驗證問題
- 27. 使用NTLM身份驗證訪問java中的Sharepoint列表
- 28. 使用Sharepoint或Windows身份驗證的Java EE SSO
- 29. ASP.NET WebApp身份驗證錯誤
- 30. Silverlight 4中的身份驗證Webservice
你想消費它使用Kerberos令牌資料1.1 Web服務意味着使用單點登錄? CXF支持[開箱即用](http://domagojtechtips.blogspot.com/2007/08/cxf-spring-and-ws-security-putting-it.html),您需要配置正確的[攔截器] (http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyvalidators/KerberosTokenPolicyValidator.java?view=markup )。 – 2012-02-20 19:49:10