Example usage for org.apache.shiro.io DefaultSerializer serialize

List of usage examples for org.apache.shiro.io DefaultSerializer serialize

Introduction

In this page you can find the example usage for org.apache.shiro.io DefaultSerializer serialize.

Prototype

public byte[] serialize(T o) throws SerializationException 

Source Link

Document

This implementation serializes the Object by using an ObjectOutputStream backed by a ByteArrayOutputStream .

Usage

From source file:juzu.plugin.shiro.impl.common.RememberMeUtil.java

License:Open Source License

public static void rememberSerialized() {
    HttpContext context = Request.getCurrent().getHttpContext();
    if (context instanceof ServletWebBridge) {
        ServletWebBridge bridge = (ServletWebBridge) context;

        // base 64 encode it and store as a cookie:
        DefaultSerializer<PrincipalCollection> serializer = new DefaultSerializer<PrincipalCollection>();
        byte[] serialized = serializer.serialize(SecurityUtils.getSubject().getPrincipals());
        serialized = encrypt(serialized);
        String base64 = Base64.encodeToString(serialized);

        String name = DEFAULT_REMEMBER_ME_COOKIE_NAME;
        String value = base64;//  w ww . ja v a2s.  com
        String domain = context.getServerName();
        String path = context.getContextPath();
        int maxAge = ONE_YEAR; // always zero for deletion
        final String headerValue = buildHeaderValue(name, value, domain.trim(), path.trim(), maxAge);
        bridge.getResponse().setHeader(COOKIE_HEADER_NAME, headerValue);
    }
}