Package org.apache.shiro.ee.filters
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_SUFFIXFields inherited from class org.apache.shiro.web.servlet.AbstractFilter
filterConfig -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidexecuteChain(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain origChain) voidinit()protected javax.servlet.ServletResponseprepareServletResponse(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) voidsetSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager sm) protected javax.servlet.ServletRequestwrapServletRequest(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, wrapServletResponseMethods inherited from class org.apache.shiro.web.servlet.OncePerRequestFilter
doFilter, getAlreadyFilteredAttributeName, isEnabled, isEnabled, isFilterOncePerRequest, setEnabled, setFilterOncePerRequest, shouldNotFilterMethods inherited from class org.apache.shiro.web.servlet.NameableFilter
getName, setName, toStringBuilderMethods inherited from class org.apache.shiro.web.servlet.AbstractFilter
destroy, getFilterConfig, getInitParam, init, setFilterConfigMethods inherited from class org.apache.shiro.web.servlet.ServletContextSupport
getContextAttribute, getContextInitParam, getServletContext, removeContextAttribute, setContextAttribute, setServletContext, toString
-
Constructor Details
-
ShiroFilter
public ShiroFilter()
-
-
Method Details
-
wrapServletRequest
protected javax.servlet.ServletRequest wrapServletRequest(javax.servlet.http.HttpServletRequest request) - Overrides:
wrapServletRequestin classorg.apache.shiro.web.servlet.AbstractShiroFilter
-
prepareServletResponse
protected javax.servlet.ServletResponse prepareServletResponse(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) - Overrides:
prepareServletResponsein classorg.apache.shiro.web.servlet.AbstractShiroFilter
-
init
- Overrides:
initin classorg.apache.shiro.web.servlet.ShiroFilter- Throws:
Exception
-
setSecurityManager
public void setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager sm) - Overrides:
setSecurityManagerin classorg.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:
executeChainin classorg.apache.shiro.web.servlet.AbstractShiroFilter- Throws:
IOExceptionjavax.servlet.ServletException
-