簡體   English   中英

Websphere 9,如何檢查傳入的 ltpatoken2

[英]Websphere 9, how to check incoming ltpatoken2

美好的一天,我有一個基於 websphere 9 和 ltpatoken2 cookie 的應用程序的傳入請求。 以前,ltpa 密鑰是從我的 websphere 導出並添加到另一台服務器的。 選項應用程序安全已啟用。 如何在 websphere 或我的應用程序中檢查令牌是否存在且正確? 對於沒有令牌的請求,我的應用程序不應該可用。

沒有 API 可以檢查該令牌,但您可以隱式測試它。 您可以使用 Firefox 或 Chrome 開發人員工具捕獲瀏覽器流量,然后在成功登錄后,使用瀏覽器工具或 curl,發送修改后的請求而無需 cookie,或使用錯誤的 cookie 值,並且您應該收到身份驗證質詢,因為 cookie 的不在那里。

在 WebSphere 9 中,如果請求包含 LTPA cookie,LTPA cookie 將被自動處理。 在您的應用程序代碼中,如果您調用 API com.ibm.websphere.security.auth.WSSubject.getRunAsSubject() ,您將看到一個從 ltpa 令牌創建的主題(如果 LTPA 令牌存在並且也是有效的)。

如果 ltpa 丟失或無效,您將看到未經身份驗證的主題。 或者在您的應用程序中,如果您調用HttpServletRequest.getPrincipal().getName() ,您將看到一個由 LTPA cookie 表示的用戶名(如果它存在且有效),並且如果缺少 LTPA,您將看到主體名稱或未驗證的用戶名或無效。

最簡單的方法是將安全約束添加到您的web.xml保護整個應用程序(您會發現很多示例),並將 map 安全角色添加到All authenticated 那么您的應用程序將僅在用戶已經登錄時才可用(因此 LTPA 令牌存在並且是正確的),否則它會將您重定向到您可以包含在您的應用程序中的登錄頁面並將用戶重定向到某處,通知他沒有登錄,或在沒有有效 LTPA 令牌的情況下執行任何操作。

暫無
暫無

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

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