org.apache.shiro.web.servlet
Class ShiroHttpSession

java.lang.Object
  extended by org.apache.shiro.web.servlet.ShiroHttpSession
All Implemented Interfaces:
javax.servlet.http.HttpSession

public class ShiroHttpSession
extends Object
implements javax.servlet.http.HttpSession

Wrapper class that uses a Shiro Session under the hood for all session operations instead of the Servlet Container's session mechanism. This is required in heterogeneous client environments where the Session is used on both the business tier as well as in multiple client technologies (web, swing, flash, etc) since Servlet container sessions alone cannot support this feature.

Since:
0.2

Field Summary
protected  javax.servlet.http.HttpServletRequest currentRequest
           
static String DEFAULT_SESSION_ID_NAME
           
protected  javax.servlet.ServletContext servletContext
           
protected  Session session
           
 
Constructor Summary
ShiroHttpSession(Session session, javax.servlet.http.HttpServletRequest currentRequest, javax.servlet.ServletContext servletContext)
           
 
Method Summary
protected  void afterBound(String s, Object o)
           
protected  void afterUnbound(String s, Object o)
           
 Object getAttribute(String s)
           
 Enumeration getAttributeNames()
           
 long getCreationTime()
           
 String getId()
           
protected  Set<String> getKeyNames()
           
 long getLastAccessedTime()
           
 int getMaxInactiveInterval()
           
 javax.servlet.ServletContext getServletContext()
           
 Session getSession()
           
 javax.servlet.http.HttpSessionContext getSessionContext()
           
 Object getValue(String s)
           
 String[] getValueNames()
           
 void invalidate()
           
 boolean isNew()
           
 void putValue(String s, Object o)
           
 void removeAttribute(String s)
           
 void removeValue(String s)
           
 void setAttribute(String s, Object o)
           
 void setMaxInactiveInterval(int i)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_SESSION_ID_NAME

public static final String DEFAULT_SESSION_ID_NAME
See Also:
Constant Field Values

servletContext

protected javax.servlet.ServletContext servletContext

currentRequest

protected javax.servlet.http.HttpServletRequest currentRequest

session

protected Session session
Constructor Detail

ShiroHttpSession

public ShiroHttpSession(Session session,
                        javax.servlet.http.HttpServletRequest currentRequest,
                        javax.servlet.ServletContext servletContext)
Method Detail

getSession

public Session getSession()

getCreationTime

public long getCreationTime()
Specified by:
getCreationTime in interface javax.servlet.http.HttpSession

getId

public String getId()
Specified by:
getId in interface javax.servlet.http.HttpSession

getLastAccessedTime

public long getLastAccessedTime()
Specified by:
getLastAccessedTime in interface javax.servlet.http.HttpSession

getServletContext

public javax.servlet.ServletContext getServletContext()
Specified by:
getServletContext in interface javax.servlet.http.HttpSession

setMaxInactiveInterval

public void setMaxInactiveInterval(int i)
Specified by:
setMaxInactiveInterval in interface javax.servlet.http.HttpSession

getMaxInactiveInterval

public int getMaxInactiveInterval()
Specified by:
getMaxInactiveInterval in interface javax.servlet.http.HttpSession

getSessionContext

public javax.servlet.http.HttpSessionContext getSessionContext()
Specified by:
getSessionContext in interface javax.servlet.http.HttpSession

getAttribute

public Object getAttribute(String s)
Specified by:
getAttribute in interface javax.servlet.http.HttpSession

getValue

public Object getValue(String s)
Specified by:
getValue in interface javax.servlet.http.HttpSession

getKeyNames

protected Set<String> getKeyNames()

getAttributeNames

public Enumeration getAttributeNames()
Specified by:
getAttributeNames in interface javax.servlet.http.HttpSession

getValueNames

public String[] getValueNames()
Specified by:
getValueNames in interface javax.servlet.http.HttpSession

afterBound

protected void afterBound(String s,
                          Object o)

afterUnbound

protected void afterUnbound(String s,
                            Object o)

setAttribute

public void setAttribute(String s,
                         Object o)
Specified by:
setAttribute in interface javax.servlet.http.HttpSession

putValue

public void putValue(String s,
                     Object o)
Specified by:
putValue in interface javax.servlet.http.HttpSession

removeAttribute

public void removeAttribute(String s)
Specified by:
removeAttribute in interface javax.servlet.http.HttpSession

removeValue

public void removeValue(String s)
Specified by:
removeValue in interface javax.servlet.http.HttpSession

invalidate

public void invalidate()
Specified by:
invalidate in interface javax.servlet.http.HttpSession

isNew

public boolean isNew()
Specified by:
isNew in interface javax.servlet.http.HttpSession


Copyright © 2004-2013 The Apache Software Foundation. All Rights Reserved.