来自:http://jinnianshilongnian.iteye.com/blog/2028675
SerializableUtils
package com.github.zhangkaitao.shiro.chapter10; import org.apache.shiro.codec.Base64; import org.apache.shiro.session.Session; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * <p>User: Zhang Kaitao * <p>Date: 14-2-8 * <p>Version: 1.0 */ public class SerializableUtils { public static String serialize(Session session) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(session); return Base64.encodeToString(bos.toByteArray()); } catch (Exception e) { throw new RuntimeException("serialize session error", e); } } public static Session deserialize(String sessionStr) { try { ByteArrayInputStream bis = new ByteArrayInputStream(Base64.decode(sessionStr)); ObjectInputStream ois = new ObjectInputStream(bis); return (Session)ois.readObject(); } catch (Exception e) { throw new RuntimeException("deserialize session error", e); } } }