List of usage examples for org.apache.shiro.web.servlet Cookie saveTo
void saveTo(HttpServletRequest request, HttpServletResponse response);
From source file:com.fengduo.spark.commons.shiro.session.SessionManager.java
License:Open Source License
@Override protected Serializable getSessionId(ServletRequest request, ServletResponse response) { // ??__sid??sid? http://localhost/project?__sid=xxx&__cookie=true String sid = request.getParameter("__sid"); if (StringUtils.isNotBlank(sid)) { // ?sid?cookie??? if (WebUtils.isTrue(request, "__cookie")) { HttpServletRequest rq = (HttpServletRequest) request; HttpServletResponse rs = (HttpServletResponse) response; Cookie template = getSessionIdCookie(); Cookie cookie = new SimpleCookie(template); cookie.setValue(sid);/* w w w . j a v a 2s . c o m*/ cookie.saveTo(rq, rs); } // ?session? request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, ShiroHttpServletRequest.URL_SESSION_ID_SOURCE); // session??url request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, sid); request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE); return sid; } else { return super.getSessionId(request, response); } }
From source file:org.sonatype.nexus.security.StatelessAndStatefulWebSessionManager.java
License:Open Source License
private void storeSessionId(Serializable currentId, HttpServletRequest request, HttpServletResponse response) { if (currentId == null) { String msg = "sessionId cannot be null when persisting for subsequent requests."; throw new IllegalArgumentException(msg); }//from w w w. j a v a 2s. c o m Cookie template = getSessionIdCookie(); Cookie cookie = new SimpleCookie(template); String idString = currentId.toString(); cookie.setValue(idString); cookie.saveTo(request, response); log.trace("Set session ID cookie for session with id {}", idString); }
From source file:org.tolven.shiro.web.session.mgt.TolvenWebSessionManager.java
License:Open Source License
@Override protected void onStart(Session session, SessionContext context) { super.onStart(session, context); HttpServletRequest request = WebUtils.getHttpRequest(context); HttpServletResponse response = WebUtils.getHttpResponse(context); //Remove cookie added by super class Cookie template = getSessionIdCookie(); Cookie cookie = new SimpleCookie(template); cookie.removeFrom(request, response); /*//from w w w. j a v a 2 s.c o m * Now place the secret key in a cookie by combining it with the sessionId using a * two way algorithm */ if (logger.isDebugEnabled()) { logger.debug("Creating secret key cookie for cookie template name: " + template.getName()); } String sessionId = session.getId().toString(); cookie.setValue(SecretKeyThreadLocal.getExtendedSessionId(sessionId, SecretKeyThreadLocal.get())); cookie.saveTo(request, response); if (logger.isDebugEnabled()) { logger.debug("Saved secret key cookie to response for session: " + sessionId); } }