5

Tôi đang lập kế hoạch thực hiện một công việc, được mã hóa bằng Java, trên máy chủ Linux được lên lịch một lần mỗi ngày tải tệp lên SharePoint tại chỗ 2013 bằng cách sử dụng API REST. Làm cách nào tôi có thể xác thực công việc của khách hàng này? Tôi đã googled, nhưng vẫn đang đấu tranh để có được một cái nhìn tổng quan rõ ràng về các lựa chọn của tôi.SharePoint tại chỗ 2013 Xác thực REST

+0

Tôi đã làm tương tự khi mã back-end được viết bằng C# và xác thực sharepoint được cung cấp bởi ứng dụng sharepoint mà tôi đã đăng ký trên trang web có quyền kiểm soát đầy đủ và chính sách ứng dụng. Hãy thử điều tra tùy chọn SP App này. –

Trả lời

1

Hai cách để thực hiện việc này. Một thông qua việc sử dụng Ứng dụng SharePoint/Mô hình bổ trợ, mô hình kia sử dụng Xác thực mạng với Windows Credential. Cho câu hỏi, tôi đoán sau này sẽ đơn giản hơn và phù hợp hơn để thiết lập.

Thao tác này sẽ tạo chứng chỉ xác thực cửa sổ mà bạn có thể sử dụng cho các yêu cầu http của mình.

RequestConfig reqConfig = RequestConfig.custom().setTargetPreferredAuthScemes(Arrays.asList(AuthSchemes.NTLM)).setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build(); 

CredentialsProvider credProvider = new BasicCredentialsProvider(); 
credProvider.setCredentials(AuthSocpe.ANY, new NTCredentials("user", "pass", "currentHost", "domainName")); 

HttpClient client = HttpClients.custom().setDefaultCredentialsProvider(credProvider).setDefaultRequestConfig(reqConfig).build(); 
// construct your http request 
HttpResponse response = client.execute(HttpHost, HttpPost); 
+0

Chỉ cần lưu ý, đây là cách xác thực với SharePoint trong Java và không phụ thuộc vào nền tảng của những gì đang lưu trữ ứng dụng java. Đăng nhập của SharePoint theo mặc định sử dụng Xác thực Windows, vì vậy bạn yêu cầu Java sử dụng Windows Auth và cung cấp cho nó tên người dùng và mật khẩu. :) – Maarten

Các vấn đề liên quan