[英]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提供一些數據,它將做出回應。 我的懷疑是
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.