Roberto Sánchez
2014-09-19 8d5386be38db25a2a41c3bf6c876adee21ca26cc
securis/src/main/java/net/curisit/securis/AuthFilter.java
....@@ -18,72 +18,69 @@
1818
1919 import org.apache.logging.log4j.LogManager;
2020
21
-
2221 @Singleton
2322 @WebFilter(urlPatterns = "/*")
2423 public class AuthFilter implements Filter {
2524
26
- private static final Logger LOG = LogManager.getLogger(AuthFilter.class);
25
+ private static final Logger LOG = LogManager.getLogger(AuthFilter.class);
2726
28
- @Override
29
- public void init(FilterConfig fc) throws ServletException {
30
- }
27
+ @Override
28
+ public void init(FilterConfig fc) throws ServletException {}
3129
32
- @Override
33
- public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException {
34
- HttpServletRequest req = (HttpServletRequest) sr;
30
+ @Override
31
+ public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException {
32
+ HttpServletRequest req = (HttpServletRequest) sr;
3533
36
- // System.out.println("filter: " + req.getRequestURI() + " user: " + sr.getParameter("user"));
37
- if (sr.getParameter("user") != null || req.getSession().getAttribute("user") != null) {
38
- String username = sr.getParameter("user");
39
- if (username == null)
40
- username = (String) req.getSession().getAttribute("user");
41
- String role = username.equals("advance") ? "advance" : "normal";
42
- // ResteasyProviderFactory.pushContext(User.class, new User(sr.getParameter("user")));
43
- LOG.info("Role for user: {} = {}", username, role);
44
- fc.doFilter(new UserRoleRequestWrapper(role, sr.getParameter("user"), req), sr1);
45
- } else {
46
- fc.doFilter(req, sr1);
47
- }
34
+ if (sr.getParameter("user") != null || req.getSession().getAttribute("user") != null) {
35
+ String username = sr.getParameter("user");
36
+ if (username == null) {
37
+ username = (String) req.getSession().getAttribute("user");
38
+ }
39
+ // TODO: role management is temporal
40
+ String role = "advance".equals(username) ? "advance" : "normal";
41
+ LOG.info("Role for user: {} = {}", username, role);
42
+ fc.doFilter(new UserRoleRequestWrapper(role, sr.getParameter("user"), req), sr1);
43
+ } else {
44
+ fc.doFilter(req, sr1);
45
+ }
4846
49
- }
47
+ }
5048
51
- @Override
52
- public void destroy() {
53
- }
49
+ @Override
50
+ public void destroy() {}
5451
55
- private class UserRoleRequestWrapper extends HttpServletRequestWrapper {
52
+ private class UserRoleRequestWrapper extends HttpServletRequestWrapper {
5653
57
- private String role;
58
- private String user;
54
+ private String role;
55
+ private String user;
5956
60
- public UserRoleRequestWrapper(String role, String user, HttpServletRequest request) {
61
- super(request);
62
- this.role = role;
63
- this.user = user;
64
- }
57
+ public UserRoleRequestWrapper(String role, String user, HttpServletRequest request) {
58
+ super(request);
59
+ this.role = role;
60
+ this.user = user;
61
+ }
6562
66
- @Override
67
- public boolean isUserInRole(String role) {
68
- LOG.info("isUserRole METHOD: {}, {}", role, this.role);
69
- if (this.role == null) {
70
- return super.isUserInRole(role);
71
- }
72
- return this.role.equals(role);
73
- }
63
+ @Override
64
+ public boolean isUserInRole(String role) {
65
+ LOG.info("isUserRole METHOD: {}, {}", role, this.role);
66
+ if (this.role == null) {
67
+ return super.isUserInRole(role);
68
+ }
69
+ return this.role.equals(role);
70
+ }
7471
75
- @Override
76
- public Principal getUserPrincipal() {
77
- if (this.user == null) {
78
- return super.getUserPrincipal();
79
- }
72
+ @Override
73
+ public Principal getUserPrincipal() {
74
+ if (this.user == null) {
75
+ return super.getUserPrincipal();
76
+ }
8077
81
- return new Principal() {
82
- @Override
83
- public String getName() {
84
- return user;
85
- }
86
- };
87
- }
88
- }
78
+ return new Principal() {
79
+ @Override
80
+ public String getName() {
81
+ return user;
82
+ }
83
+ };
84
+ }
85
+ }
8986 }