KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > filters > AutoLoginFilter


1 /*
2  * WebSessionFilter
3  *
4  * A filter that recognizes return users who have
5  * chosen to have their login information remembered.
6  * Creates a valid WebSession object and
7  * passes it a contact to use to fill its information
8  *
9  */

10 package com.dotmarketing.filters;
11
12 import java.io.IOException JavaDoc;
13
14 import javax.servlet.Filter JavaDoc;
15 import javax.servlet.FilterChain JavaDoc;
16 import javax.servlet.FilterConfig JavaDoc;
17 import javax.servlet.ServletException JavaDoc;
18 import javax.servlet.ServletRequest JavaDoc;
19 import javax.servlet.ServletResponse JavaDoc;
20 import javax.servlet.http.HttpServletRequest JavaDoc;
21 import javax.servlet.http.HttpServletResponse JavaDoc;
22 import javax.servlet.http.HttpSession JavaDoc;
23
24 import com.dotmarketing.cms.login.factories.LoginFactory;
25 import com.dotmarketing.util.Logger;
26 import com.dotmarketing.util.UtilMethods;
27 import com.dotmarketing.util.WebKeys;
28
29 public class AutoLoginFilter implements Filter JavaDoc {
30
31     public void destroy() {
32
33     }
34
35     public void doFilter(ServletRequest JavaDoc req, ServletResponse JavaDoc res, FilterChain JavaDoc chain) throws IOException JavaDoc,
36             ServletException JavaDoc {
37         HttpServletResponse JavaDoc response = (HttpServletResponse JavaDoc) res;
38         HttpServletRequest JavaDoc request = (HttpServletRequest JavaDoc) req;
39         HttpSession JavaDoc session = request.getSession(false);
40         
41         String JavaDoc encryptedId = UtilMethods.getCookieValue(request.getCookies(), WebKeys.CMS_USER_ID_COOKIE);
42  
43         if (((session != null && session.getAttribute(WebKeys.CMS_USER) == null) || session == null)&&
44                 UtilMethods.isSet(encryptedId)) {
45             Logger.debug(AutoLoginFilter.class, "Doing AutoLogin for " + encryptedId);
46             LoginFactory.doCookieLogin(encryptedId, request, response);
47         }
48
49         chain.doFilter(req, response);
50         
51     }
52
53     public void init(FilterConfig JavaDoc config) throws ServletException JavaDoc {
54     }
55 }
56
Popular Tags