| 1 40 package org.dspace.app.webui.filter; 41 42 import java.io.IOException ; 43 import java.sql.SQLException ; 44 45 import javax.servlet.Filter ; 46 import javax.servlet.FilterChain ; 47 import javax.servlet.FilterConfig ; 48 import javax.servlet.ServletException ; 49 import javax.servlet.ServletRequest ; 50 import javax.servlet.ServletResponse ; 51 import javax.servlet.http.HttpServletRequest ; 52 import javax.servlet.http.HttpServletResponse ; 53 54 import org.apache.log4j.Logger; 55 import org.dspace.app.webui.util.Authenticate; 56 import org.dspace.app.webui.util.JSPManager; 57 import org.dspace.app.webui.util.UIUtil; 58 import org.dspace.core.Context; 59 import org.dspace.core.LogManager; 60 61 68 public class RegisteredOnlyFilter implements Filter  69 { 70 71 private static Logger log = Logger.getLogger(RegisteredOnlyFilter.class); 72 73 public void init(FilterConfig config) 74 { 75 } 77 78 public void doFilter(ServletRequest request, ServletResponse response, 79 FilterChain chain) throws ServletException , IOException  80 { 81 Context context = null; 82 83 HttpServletRequest hrequest = (HttpServletRequest ) request; 85 HttpServletResponse hresponse = (HttpServletResponse ) response; 86 87 try 88 { 89 context = UIUtil.obtainContext(hrequest); 91 92 if (context.getCurrentUser() != null || 95 Authenticate.startAuthentication(context, hrequest, hresponse)) 96 { 97 chain.doFilter(hrequest, hresponse); 99 } 100 } 101 catch (SQLException se) 102 { 103 log.warn(LogManager.getHeader(context, "database_error", se 104 .toString()), se); 105 JSPManager.showInternalError(hrequest, hresponse); 106 } 107 108 if ((context != null) && context.isValid()) 110 { 111 context.abort(); 112 } 113 } 114 115 public void destroy() 116 { 117 } 119 } 120 | Popular Tags |