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

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

Introduction

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

Prototype

public void saveTo(HttpServletRequest request, HttpServletResponse response) 

Source Link

Usage

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);//from  ww w  .jav  a 2  s.co  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();
    }

}