0
我已經啓用安全我的應用程序,而這些受保護的資源不能被訪問,除非用戶登錄。如何使用會話的屬性在Java應用程序中
不過,我需要運行我的Java應用程序中的多個測試。我想知道是否可以從登錄頁面(瀏覽器)登錄到我的應用程序,使用其會話ID,並獲得我的測試的驗證對象(Java應用程序)?
如果有幫助,我使用彈簧安全。
我在尋找一般的想法,如果需要時間來解釋如何去做。
我已經啓用安全我的應用程序,而這些受保護的資源不能被訪問,除非用戶登錄。如何使用會話的屬性在Java應用程序中
不過,我需要運行我的Java應用程序中的多個測試。我想知道是否可以從登錄頁面(瀏覽器)登錄到我的應用程序,使用其會話ID,並獲得我的測試的驗證對象(Java應用程序)?
如果有幫助,我使用彈簧安全。
我在尋找一般的想法,如果需要時間來解釋如何去做。
Spring Security的Authentication具有當前用戶的主體和授權角色的句柄。它可以通過訪問:
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
Spring的RequestAttributes對當前會話ID的句柄。它可以使用訪問:
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
String sessionId = attributes.getSessionId();
這項工作提供RequestContextFilter已在web.xml中配置。
感謝您的回覆。但是,您應該知道TEST-APPLICATION是獨立運行的。所以它可能既不知道也不能訪問'SecurityContextHolder'。沒有辦法,使用'session-id',檢索它並使用它的內容? – 2013-05-13 05:41:04