簡體   English   中英

獲取控制器中Spring啟動/安全性的會話令牌

[英]Get session token for Spring boot/security in controller

我們使用spring boot和spring security來實現查詢接口。 我想要做的是只允許每個用戶一次運​​行固定數量的查詢。 查詢可能需要很長時間,用戶可能會比我們的響應更快地發送重復請求。 我希望控制器一次只計算一個子集請求,我將不得不實現一些邏輯來確定響應的請求。

為此,我需要知道給定用戶的會話令牌。 有沒有一種簡單的方法可以在控制器的方法中得到它?

我發現在請求映射中添加參數'HttpSession session'更容易:

@GetMapping(value = "/hello")  
public String home(HttpSession session) {  
    String sessionId = session.getId();  
    System.out.println("[session-id]: " + sessionId);  

    ...

    return "anyPage";  
}

如果要在控制器中獲取sessionId,可以使用RequestContextHolder.currentRequestAttributes().getSessionId();

暫無
暫無

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

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