簡體   English   中英

Java RESTful客戶端[RESTEasy或Apache HttpClient]-另一端是NTLM

[英]Java RESTful client [RESTEasy or Apache HttpClient] - NTLM on the other side

如何調用需要在Active Directory中進行NTLM身份驗證的RESTful Web服務(從Java-使用RESTEasy / Apache HttpClient),而無需再次輸入用戶數據(域,用戶名,密碼)-用戶已經在Windows中進行了身份驗證?

GET http://some_server/restapi/books

這在Web瀏覽器甚至java.net.URL庫中都可以完美運行-不會提示用戶輸入憑據,沒有401身份驗證錯誤-僅返回200 OK

如何使用Apache HttpClient或RESTEasy客戶端執行相同操作?

您可以使用此結構來完成;

  1. 用戶首次輸入用戶名和密碼時,可以檢查活動目錄上的用戶詳細信息,如果成功,則可以使用用戶名和密碼創建access_token。 可能是sha-256加密(有關創建sha-256的信息,請參閱此處
  2. 將那個access_token保存到您的數據庫,並給它一個過期時間。
  3. 成功創建access_token后,將該訪問令牌響應給用戶。
  4. 從現在開始,您可以使用access_token進行服務請求

您需要像本地存儲一樣在客戶端保存訪問令牌。 與使用http客戶端一樣,您可以在標頭中提供該access_token。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM