Class ShiroFilter

java.lang.Object
org.apache.shiro.web.servlet.ServletContextSupport
org.apache.shiro.web.servlet.AbstractFilter
org.apache.shiro.web.servlet.NameableFilter
org.apache.shiro.web.servlet.OncePerRequestFilter
org.apache.shiro.web.servlet.AbstractShiroFilter
org.apache.shiro.web.servlet.ShiroFilter
org.apache.shiro.ee.filters.ShiroFilter
All Implemented Interfaces:
javax.servlet.Filter, org.apache.shiro.lang.util.Nameable

@WebFilter(filterName="ShiroFilter", urlPatterns="/*", dispatcherTypes={ERROR,FORWARD,INCLUDE,REQUEST,ASYNC}, asyncSupported=true) public class ShiroFilter extends org.apache.shiro.web.servlet.ShiroFilter
Stops JEE server from interpreting Shiro principal as direct EJB principal, this has sideffects of trying to log in to remote EJBs with the credentials from Shiro, which isn't what this meant to do, as it's meant to just transfer Shiro credentials to remote EJB call site. Thus, force null EJB principal for the web session, as the real principal comes from the EjbSecurityFilter's doAs() call Also handles X-Forwarded-Proto support
  • Field Summary

    Fields inherited from class org.apache.shiro.web.servlet.OncePerRequestFilter

    ALREADY_FILTERED_SUFFIX

    Fields inherited from class org.apache.shiro.web.servlet.AbstractFilter

    filterConfig
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    executeChain(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain origChain)
     
    void
     
    protected javax.servlet.ServletResponse
    prepareServletResponse(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
     
    void
    setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager sm)
     
    protected javax.servlet.ServletRequest
    wrapServletRequest(javax.servlet.http.HttpServletRequest request)
     

    Methods inherited from class org.apache.shiro.web.servlet.AbstractShiroFilter

    createDefaultSecurityManager, createSubject, doFilterInternal, getExecutionChain, getFilterChainResolver, getSecurityManager, isHttpSessions, isStaticSecurityManagerEnabled, onFilterConfigSet, prepareServletRequest, setFilterChainResolver, setShiroFilterConfiguration, setStaticSecurityManagerEnabled, updateSessionLastAccessTime, wrapServletResponse

    Methods inherited from class org.apache.shiro.web.servlet.OncePerRequestFilter

    doFilter, getAlreadyFilteredAttributeName, isEnabled, isEnabled, isFilterOncePerRequest, setEnabled, setFilterOncePerRequest, shouldNotFilter

    Methods inherited from class org.apache.shiro.web.servlet.NameableFilter

    getName, setName, toStringBuilder

    Methods inherited from class org.apache.shiro.web.servlet.AbstractFilter

    destroy, getFilterConfig, getInitParam, init, setFilterConfig

    Methods inherited from class org.apache.shiro.web.servlet.ServletContextSupport

    getContextAttribute, getContextInitParam, getServletContext, removeContextAttribute, setContextAttribute, setServletContext, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ShiroFilter

      public ShiroFilter()
  • Method Details

    • wrapServletRequest

      protected javax.servlet.ServletRequest wrapServletRequest(javax.servlet.http.HttpServletRequest request)
      Overrides:
      wrapServletRequest in class org.apache.shiro.web.servlet.AbstractShiroFilter
    • prepareServletResponse

      protected javax.servlet.ServletResponse prepareServletResponse(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
      Overrides:
      prepareServletResponse in class org.apache.shiro.web.servlet.AbstractShiroFilter
    • init

      public void init() throws Exception
      Overrides:
      init in class org.apache.shiro.web.servlet.ShiroFilter
      Throws:
      Exception
    • setSecurityManager

      public void setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager sm)
      Overrides:
      setSecurityManager in class org.apache.shiro.web.servlet.AbstractShiroFilter
    • executeChain

      protected void executeChain(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain origChain) throws IOException, javax.servlet.ServletException
      Overrides:
      executeChain in class org.apache.shiro.web.servlet.AbstractShiroFilter
      Throws:
      IOException
      javax.servlet.ServletException