1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.promotego.interceptors;
20
21 import java.net.URLEncoder;
22
23 import javax.servlet.http.HttpServletRequest;
24 import javax.servlet.http.HttpServletResponse;
25
26 import org.promotego.beans.UserHolder;
27 import org.springframework.beans.factory.annotation.Required;
28
29 /***
30 * @author alf
31 *
32 */
33 public class EnforceLoginInterceptor extends ExcludingInterceptorBase
34 {
35 private UserHolder m_userHolder;
36
37 @Override
38 public boolean excludingPreHandle(HttpServletRequest request,
39 HttpServletResponse response, Object handler) throws Exception
40 {
41 if (m_userHolder.getUser() != null)
42 {
43 return true;
44 }
45 else
46 {
47 StringBuilder redirect = new StringBuilder(request.getRequestURI());
48 if (request.getQueryString() != null)
49 {
50 redirect.append('?');
51 redirect.append(request.getQueryString());
52 }
53 response.sendRedirect(request.getContextPath() + "/login.do?redirect=" + URLEncoder.encode(redirect.toString(), "UTF-8"));
54 return false;
55 }
56 }
57
58 @Required
59 public void setUserHolder(UserHolder userHolder)
60 {
61 m_userHolder = userHolder;
62 }
63 }