簡體   English   中英

如何在使用Web服務的Java中實現登錄?

[英]How to achieve login in java consuming a web service?

我在Java中有一個利用j_security_check和ldap進行身份驗證的項目。 現在,我的雇主希望使用提供的Web服務將其更改為身份驗證。 他們給我的實際上是如下所示的鏈接“ http://11.111.111.111/ADManager/ADlogin.asmx ”我是java和webservice的新手。我所知道的是,如果我們向webservice提供一些數據,它將做出回應。 我的懷疑是

  1. 是否可以使用他們提供的鏈接來創建登錄名?
  2. 我應該問他們更多信息嗎?
  3. 是否可以替換已經在Java項目中配置的j_security_check和ldap?

PS:分配給我這項任務的人似乎也不多。

簡短的答案是可以的。

您需要執行以下操作:

每個Web資源均受(servlet)過濾器保護。 該過濾器檢查每個傳入的請求並驗證需要在http標頭上的令牌。 如果令牌有效,那么將處理請求。 如果令牌無效,則過濾器將未經授權發送回HTTP 401。 然后重定向到里脊頁面。

使用休息服務登錄:

1)使用用戶名/密碼字段創建一個自定義登錄頁面。

2)創建一個REST Web服務,接收用戶名/密碼。 它將根據外部訪問管理基礎結構(如OpenAM)檢查憑據。

3)首先,調用auth(用戶名,密碼)rest api以獲取auth令牌。 如果給定的憑據還可以,則只需使用HTTP 200響應代碼將auth cookie發送回客戶端即可。

4)然后,您可以調用受保護的REST API。 您需要每次隨請求發送身份驗證cookie。

5)Servlet過濾器(或類似的東西)檢查每個傳入的請求並驗證令牌。 如果令牌有效,則請求將轉至rest方法;如果無效,則需要生成http 401/403響應。

我建議您不要編寫自己的身份驗證層,請使用現有的身份驗證層,例如OpenAM。

論壇主題向您解釋了所有內容。

暫無
暫無

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

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