[英]AJAX call on a different application context (Java + Tomcat)
我有兩個使用Spring Security開發的Web應用程序。 每個應用程序都有自己的WAR,因此部署在它自己的上下文中:
localhost:8080/my-app1
localhost:8080/my-app2
現在,當我嘗試將my-app1
上的AJAX調用發送到my-app2
上的控制器時,我收到一條錯誤消息,指出我的會話已過期。 這是有道理的,畢竟用戶在my-app1
上進行my-app1
身份驗證,但未在my-app2
上進行身份驗證。
那有什么解決方法嗎?
我有兩個解決方案:
並發現了這一點: 在tomcat中不同應用程序之間共享會話狀態的方法是什么?
我建議你在瀏覽器端將登錄令牌存儲為cookie條目,cookie應該與app1和app2具有相同的域(在你的情況下,它只是localhost)。 所以它將被傳遞到兩個應用程序的后端。
登錄令牌可以具有加密的用戶名,該用戶名可以由服務器解密,密碼的散列用於驗證。
這實際上是Spring Security中基於令牌的記住我服務背后的想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.