我想在我的web應用程序中實現登錄/註銷,我使用Spring MVC,並登錄/註銷我使用Ehcache和HandlerInterceptorAdapter。其基本思想是:登錄/註銷實現使用緩存和攔截器在春天
當用戶登錄 - >使用DB身份驗證,如果所有的憑據 是正確的,那麼存儲的用戶對象在緩存中的一個關鍵和存儲 在請求對象的關鍵。
從下一個請求得到請求對象在preHandle()的關鍵HandlerInterceptorAdapter的 方法,並檢查在緩存中是否存在,或
重定向到登錄頁面。在緩存中存儲
代碼:
if(validateUserFromDB()){
/* if a valid user */
userDtlForm = iHomePageService.getUserDetails(emailIdOfUser);
String token = generateSomeUniqueTokenForTheUser();
/* put the user in cache : [ key --> token || value--> userDtlForm ] */
storeTheTokenInCache();
request.setAttribute("token ", token);
}
現在每隔要求我檢查針對我的攔截令牌緩存。
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getAttribute("token");
/* isValid == true when user exists inthe cache */
boolean isValid = checkCacheForTheToken(token);
if (!isValid) {
//redirect to login page
return false;
}
return true;
}
,但問題是我通過request.getAttribute(「令牌」)在我interceptor.what越來越空值我做錯
任何人都可以提供我一個例子做同樣的,:( –