Tôi có một máy khách linux \ java6 sẽ xác thực với sharepoint2010 với NTLM và sau đó gửi các dịch vụ web REST HTTP bằng cách sử dụng Apache Commons HttpClient
.Xác thực với sharepoint với kerberos từ một java HttpClient
Tôi có thể thực hiện việc này với NTLM, nhưng tôi muốn sử dụng cùng một API REST để truy cập vào SharePoint 2010 sử dụng xác thực kerberos.
Bất kỳ ví dụ nào về cách xác thực và gửi REST qua HTTP bằng trình chia sẻ kerberos? (tốt nhất là sử dụng HttpClient
)
p.s. Tôi không có quyền truy cập vào mã sharepoint, nhưng tôi có quyền truy cập vào cấu hình quản trị viên SharePoint. Đây là khoảng cách tôi xác thực với NTLM:
HttpClient httpClient = new HttpClient(new SimpleHttpConnectionManager(true));
AuthPolicy.registerAuthScheme(AuthPolicy.NTLM, JCIFS_NTLMScheme.class);
String localHostName = Inet4Address.getLocalHost().getHostName();
authscope = new AuthScope(uri.getHost(), AuthScope.ANY_PORT);
httpClient.getState().setCredentials(authscope,new NTCredentials(
getUsername(),getPassword(),localHostName,getDomain()));
// after the initial ntlm auth I can call my REST service with "httpClient.executeMethod"
int status = httpClient.executeMethod(new GetMethod(accessURI + "/sitecollection/info"));
Các bạn đã nhìn http://thejavamonkey.blogspot.com/2008/04/clientserver-hello-world-in-kerberos.html –
của nó không chính xác những gì tôi cần, tôi có một api hiện có của phần còn lại các dịch vụ web trên http (org.apache.commons.httpclient.HttpClient) hoạt động với NTLM và tôi cần sử dụng các dịch vụ web SAME khi giao dịch với các máy chủ chia sẻ bằng cách sử dụng các kerberos. –
Phần nào của bài viết tôi đã đề cập sẽ là một vấn đề, trong đó bạn cần lấy vé và tôi không chắc chắn cách bạn lên kế hoạch thực hiện điều đó. Nó có thể giúp đỡ nếu bạn đi vào chi tiết hơn. –