| .. | .. |
|---|
| 14 | 14 | import javax.servlet.http.HttpServletRequest; |
|---|
| 15 | 15 | import javax.servlet.http.HttpServletRequestWrapper; |
|---|
| 16 | 16 | |
|---|
| 17 | +import org.slf4j.Logger; |
|---|
| 18 | +import org.slf4j.LoggerFactory; |
|---|
| 19 | + |
|---|
| 17 | 20 | @Singleton |
|---|
| 18 | 21 | @WebFilter(urlPatterns = "/*") |
|---|
| 19 | 22 | public class AuthFilter implements Filter { |
|---|
| 23 | + |
|---|
| 24 | + private static final Logger log = LoggerFactory.getLogger(AuthFilter.class); |
|---|
| 20 | 25 | |
|---|
| 21 | 26 | @Override |
|---|
| 22 | 27 | public void init(FilterConfig fc) throws ServletException { |
|---|
| .. | .. |
|---|
| 27 | 32 | HttpServletRequest req = (HttpServletRequest) sr; |
|---|
| 28 | 33 | |
|---|
| 29 | 34 | // System.out.println("filter: " + req.getRequestURI() + " user: " + sr.getParameter("user")); |
|---|
| 30 | | - if (sr.getParameter("user") != null) { |
|---|
| 35 | + if (sr.getParameter("user") != null || req.getSession().getAttribute("user") != null) { |
|---|
| 36 | + String username = sr.getParameter("user"); |
|---|
| 37 | + if (username == null) |
|---|
| 38 | + username = (String) req.getSession().getAttribute("user"); |
|---|
| 39 | + String role = username.equals("advance") ? "advance" : "normal"; |
|---|
| 31 | 40 | // ResteasyProviderFactory.pushContext(User.class, new User(sr.getParameter("user"))); |
|---|
| 32 | | - fc.doFilter(new UserRoleRequestWrapper("user", sr.getParameter("user"), req), sr1); |
|---|
| 41 | + log.info("Role for user: {} = {}", username, role); |
|---|
| 42 | + fc.doFilter(new UserRoleRequestWrapper(role, sr.getParameter("user"), req), sr1); |
|---|
| 33 | 43 | } else { |
|---|
| 34 | 44 | fc.doFilter(req, sr1); |
|---|
| 35 | 45 | } |
|---|
| .. | .. |
|---|
| 53 | 63 | |
|---|
| 54 | 64 | @Override |
|---|
| 55 | 65 | public boolean isUserInRole(String role) { |
|---|
| 66 | + log.info("isUserRole METHOD: {}, {}", role, this.role); |
|---|
| 56 | 67 | if (this.role == null) { |
|---|
| 57 | 68 | return super.isUserInRole(role); |
|---|
| 58 | 69 | } |
|---|