Class 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 Detail

      • servletContext

        protected javax.servlet.ServletContext servletContext
      • currentRequest

        protected javax.servlet.http.HttpServletRequest currentRequest
      • session

        protected org.apache.shiro.session.Session session
    • Constructor Detail

      • ShiroHttpSession

        public ShiroHttpSession​(org.apache.shiro.session.Session session,
                                javax.servlet.http.HttpServletRequest currentRequest,
                                javax.servlet.ServletContext servletContext)
    • Method Detail

      • getSession

        public org.apache.shiro.session.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