1 package org.springframework.security.ui;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.springframework.core.Ordered;
6
7
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10 import javax.servlet.ServletException;
11 import javax.servlet.FilterChain;
12 import javax.servlet.ServletResponse;
13 import javax.servlet.FilterConfig;
14 import javax.servlet.ServletRequest;
15 import javax.servlet.Filter;
16 import java.io.IOException;
17
18
19
20
21
22
23
24
25 public abstract class SpringSecurityFilter implements Filter, Ordered {
26 protected final Log logger = LogFactory.getLog(this.getClass());
27
28
29
30
31
32
33
34 public final void init(FilterConfig filterConfig) throws ServletException {
35 }
36
37
38
39
40 public final void destroy() {
41 }
42
43 public final void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
44
45 if (!(request instanceof HttpServletRequest)) {
46 throw new ServletException("Can only process HttpServletRequest");
47 }
48
49 if (!(response instanceof HttpServletResponse)) {
50 throw new ServletException("Can only process HttpServletResponse");
51 }
52
53 doFilterHttp((HttpServletRequest)request, (HttpServletResponse)response, chain);
54 }
55
56 protected abstract void doFilterHttp(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException;
57
58 public String toString() {
59 return getClass().getName() + "[ order=" + getOrder() + "; ]";
60 }
61 }