我们知道,springSecurity其实就是将过滤器和aop进行整合。其实我们也可以添加自己的过滤器。
很简单,配置如下
<http use-expressions="false" entry-point-ref="loginEntryPoint">
<intercept-url pattern="/user.jsp" access="ROLE_USER,ROLE_ADMIN"/>
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
<intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY"/>
<form-login/>
<custom-filter ref="myFilter" position="LAST"/>
</http>
<beans:bean id="myFilter" class="com.ezhiyang.springSecurity.MyFilter"/>
然后再来看看myFilter
public class MyFilter implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("进来了我自定义的过滤器了");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
System.out.println("自定义过滤器链销毁了");
}
}
其实只要实现了javax.servlet.Filter就可以了,很low.