Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. package bg.elsys.ip.servlet;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import javax.servlet.Filter;
  9. import javax.servlet.FilterChain;
  10. import javax.servlet.FilterConfig;
  11. import javax.servlet.RequestDispatcher;
  12. import javax.servlet.ServletException;
  13. import javax.servlet.ServletRequest;
  14. import javax.servlet.ServletResponse;
  15. import javax.servlet.http.Cookie;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18.  
  19. public class MyFilter implements Filter {
  20.  
  21. @Override
  22. public void destroy() {
  23. }
  24.  
  25. List<Cookie> CookieList = new ArrayList<>();
  26.  
  27. @Override
  28. public void doFilter(ServletRequest request, ServletResponse response,
  29. FilterChain chain) throws IOException, ServletException {
  30.  
  31. System.out.println("In do filter " + request.getParameter("hiddenButton"));
  32.  
  33. HttpServletRequest req = (HttpServletRequest) request;
  34. Cookie[] cookies = req.getCookies();
  35.  
  36. if(request.getParameter("hiddenButton") != null){
  37.  
  38. for (Cookie cookie : cookies) {
  39. if("testCookie".equals(cookie.getName()) && "testValue".equals(cookie.getValue())){
  40. CookieList.remove(CookieList.indexOf(cookie.getValue()));
  41. }
  42. }
  43.  
  44. }
  45.  
  46. PrintWriter out = response.getWriter();
  47.  
  48. String username = request.getParameter("name");
  49. String password = request.getParameter("password");
  50.  
  51. if (checkCookie(request)) {
  52. chain.doFilter(request, response);
  53. } else if ("admin".equals(username) && "pass".equals(password)) {
  54. ((HttpServletResponse) response).addCookie(new Cookie("testCookie",
  55. "testValue"));
  56. chain.doFilter(request, response);
  57. } else {
  58. out.print("Username or password error!");
  59. RequestDispatcher dispatcher = request
  60. .getRequestDispatcher("index.html");
  61. dispatcher.forward(request, response);
  62. }
  63. }
  64.  
  65. @Override
  66. public void init(FilterConfig arg0) throws ServletException {
  67. }
  68.  
  69. private boolean checkCookie(ServletRequest request) {
  70. HttpServletRequest req = (HttpServletRequest) request;
  71.  
  72. Cookie[] cookies = req.getCookies();
  73. if (cookies != null) {
  74. for (Cookie ck : cookies) {
  75. if ("testCookie".equals(ck.getName())
  76. && "testValue".equals(ck.getValue())) {
  77. return true;
  78. }
  79. }
  80. }
  81. return false;
  82. }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement