/* * (non-Javadoc) * * @see * com.newtouch.lion.dsession.store.DistributedCookieStore#invalidate(com * .newtouch.lion.session.context.RequestContext) */ @Override public void invalidate(DistributedSessionContext sessionContext) { Cookie[] cookies = sessionContext.getRequest().getCookies(); // 判断是否为空 if (cookies == null || cookies.length == 0) { return; } for (Cookie cookie : cookies) { String cookieName = cookie.getName(); String decodeCookieName = cookieName; // 编码 if (distributedCookieAttributeConfig.getEncoder() != null) { decodeCookieName = distributedCookieAttributeConfig.getEncoder().encodeName(decodeCookieName); } if (distributedCookieAttributeConfig.isMatch(decodeCookieName)) { cookie.setDomain(distributedCookieAttributeConfig.getDomain()); cookie.setPath(distributedCookieAttributeConfig.getPath()); cookie.setSecure(distributedCookieAttributeConfig.isSecure()); cookie.setMaxAge(0); sessionContext.getResponse().addCookie(cookie); } } }
/* * (non-Javadoc) * * @see * com.newtouch.lion.dsession.store.DistributedCookieStore#getAllAttributeNames * (com.newtouch.lion.session.context.RequestContext) */ @Override public List<String> getAllAttributeNames(DistributedSessionContext sessionContext) { List<String> attributes = new ArrayList<String>(); Cookie[] cookies = sessionContext.getRequest().getCookies(); // 判断是否为空 if (cookies == null || cookies.length == 0) { return attributes; } for (Cookie cookie : cookies) { String cookieName = cookie.getName(); String decodeCookieName = cookieName; if (distributedCookieAttributeConfig.getEncoder() != null) { decodeCookieName = distributedCookieAttributeConfig.getEncoder().decodeName(cookieName); } if (distributedCookieAttributeConfig.isMatch(decodeCookieName)) { attributes.add(decodeCookieName); } } return attributes; }