Example usage for org.apache.shiro.web.servlet SimpleCookie SimpleCookie

List of usage examples for org.apache.shiro.web.servlet SimpleCookie SimpleCookie

Introduction

In this page you can find the example usage for org.apache.shiro.web.servlet SimpleCookie SimpleCookie.

Prototype

public SimpleCookie(Cookie cookie) 

Source Link

Usage

From source file:com.cuisongliu.springboot.shiro.autoconfig.ShiroAutoConfig.java

License:Open Source License

/**
 * ?/*from ww w  . j a  v  a 2 s. c o m*/
 */
@Bean
public DefaultWebSecurityManager securityManager(SessionManager sessionManager, ShiroAbstractRealm realm) {
    DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
    securityManager.setRealm(realm);

    RedisManager redisManager = new RedisManager(redisHost, redisPort, redisTimeout, redisPassword);
    ShiroRedisCacheManager shiroRedisCacheManager = new ShiroRedisCacheManager(redisManager,
            springShiroProperties.getRedisCacheKey());

    securityManager.setCacheManager(shiroRedisCacheManager);

    {
        if (springShiroProperties.getEnableRememberMe()) {
            //SimpleCookie 
            SimpleCookie rememberMeCookie = new SimpleCookie(springShiroProperties.getRememberMeCookieName());
            rememberMeCookie.setHttpOnly(springShiroProperties.getRememberMeCookieHttpOnly());
            //7
            rememberMeCookie.setMaxAge(springShiroProperties.getRememberMeCookieDays() * 24 * 60 * 60);
            //rememberMe?, cipherKey??{@code Base64Test.java}
            CookieRememberMeManager rememberMeManager = new CookieRememberMeManager();
            rememberMeManager.setCipherKey(Base64.decode(springShiroProperties.getRememberMeKey()));
            rememberMeManager.setCookie(rememberMeCookie);
            //rememberMe
            securityManager.setRememberMeManager(rememberMeManager);
        }
    }

    securityManager.setSessionManager(sessionManager);
    return securityManager;
}

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);/*from www .  j av  a2s . co 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:com.github.richardwilly98.esdms.shiro.EsWebSessionManager.java

License:Open Source License

@Inject
public EsWebSessionManager(SessionDAO sessionDAO,
        @Named(SystemParametersModule.SESSION_TIMEOUT) final long sessionTimeout) {
    super();//w  w  w .  jav  a 2s .c o  m
    this.setSessionDAO(sessionDAO);
    Cookie cookie = new SimpleCookie(RestAuthenticationService.ES_DMS_TICKET);
    cookie.setHttpOnly(true);
    setSessionIdCookie(cookie);
    setSessionIdCookieEnabled(true);
    setGlobalSessionTimeout(sessionTimeout);
    getGlobalSessionTimeout();
}

From source file:com.whatlookingfor.core.config.ShiroConfiguration.java

License:Apache License

/**
 * SESSIONID, : JSESSIONID : SERVLET???, JETTY, TOMCAT JSESSIONID,
 * SHIRO SERVLETERROR-PAGEJSESSIONID???!
 * @return//  w  ww  .ja  v  a 2  s. c om
 */
@Bean(name = "sessionIdCookie")
public SimpleCookie sessionIdCookie() {
    SimpleCookie simpleCookie = new SimpleCookie("whatlookingfor.session.id");
    return simpleCookie;
}

From source file:eu.linqed.rememberme.RememberMe.java

License:Apache License

private void setRememberMeCookie(XspHttpServletResponse response, String userName, Token tokenDoc) {

    //create new token document
    if (tokenDoc == null) {

        log("saving new token document for " + userName);

        // calculate valid until date
        Date validUntil = new Date();

        Calendar cal = Calendar.getInstance();
        cal.setTime(validUntil);/*  w  ww. j  a  v  a2s  . c o m*/
        cal.add(Calendar.DATE, config.getRememberMeDays());

        tokenDoc = new Token(userName, cal);
    }

    String token = generateToken();
    tokenDoc.save(token);

    int maxAge = config.getRememberMeDays() * (60 * 60 * 24);

    if (tokenDoc != null) { //date specified: calculate the expiration date for this cookie
        maxAge = (int) ((tokenDoc.getValidUntil().getTime() - (new Date()).getTime()) / 1000);
    }

    try {

        log("create simple cookie");
        SimpleCookie c = new SimpleCookie(config.getCookieName());
        c.setValue(tokenDoc.getTokenId() + ":" + token);
        c.setPath("/");
        c.setDomain(config.getSsoDomain());
        c.setMaxAge(maxAge);
        c.setSecure(true);

        //response.addCookie( c);

        /*   Cookie rememberMe = new Cookie(config.getCookieName(), tokenDoc.getTokenId() + ":" + token);
                 rememberMe.setPath("/");
                 rememberMe.setDomain(config.getSsoDomain());
                 rememberMe.setMaxAge( maxAge);
                
                 // add the cookies to the response
                 response.addCookie(rememberMe);*/

        log("add simple cookie");

        c.saveTo(null, response);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

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 . ja  v a 2  s .co 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.servlet.TolvenShiroFilter.java

License:Open Source License

private SimpleCookie getCookieTemplate() {
    TolvenContext tolvenContext = null;//from w ww . j a  v  a 2 s.  c o m
    String jndiName = "tolvenContext";
    try {
        InitialContext ictx = new InitialContext();
        tolvenContext = (TolvenContext) ictx.lookup(jndiName);
    } catch (Exception ex) {
        throw new RuntimeException("Could not look up " + jndiName, ex);
    }
    SimpleCookie cookie = new SimpleCookie(tolvenContext.getSsoCookieName());
    cookie.setDomain(tolvenContext.getSsoCookieDomain());
    cookie.setPath(tolvenContext.getSsoCookiePath());
    cookie.setSecure(Boolean.parseBoolean(tolvenContext.getSsoCookieSecure()));
    cookie.setMaxAge(Integer.parseInt(tolvenContext.getSsoCookieMaxAge()));
    return cookie;
}

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  ww  .j  ava2  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);
    }
}