Guest User

Untitled

a guest
Apr 24th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.25 KB | None | 0 0
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Autorisation</title>
  5. </head>
  6. <body>
  7. <form action="/auth">
  8.  
  9.  
  10. <div class="container">
  11. <label><b>Username</b></label>
  12. <input type="text" placeholder="Enter Username" name="uname" required>
  13.  
  14. <label><b>Password</b></label>
  15. <input type="password" placeholder="Enter Password" name="psw" required>
  16.  
  17. <button type="submit">Login</button>
  18. </div>
  19. </div>
  20. </form>
  21. </body>
  22. </html>
  23.  
  24. package ui.Account;
  25.  
  26. import javax.servlet.RequestDispatcher;
  27. import javax.servlet.ServletException;
  28. import javax.servlet.http.HttpServlet;
  29. import javax.servlet.http.HttpServletRequest;
  30. import javax.servlet.http.HttpServletResponse;
  31. import javax.servlet.http.HttpSession;
  32. import java.io.IOException;
  33.  
  34. public class LoginServlet extends HttpServlet {
  35. @Override
  36. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  37. RequestDispatcher dispatcher = req.getRequestDispatcher("Authorization.jsp");
  38. dispatcher.forward(req,resp);
  39.  
  40.  
  41. HttpSession session=req.getSession();
  42. String login,password;
  43. login=req.getParameter("uname");
  44. password=req.getParameter("psw");
  45. System.out.println(login+" "+password);
  46.  
  47. if((login.equals("admin") || login.equals("admin2")) && password.equals("password")){
  48. session.setAttribute("login",login);
  49. resp.sendRedirect("QuizAdd.jsp");
  50.  
  51. }
  52. else resp.getWriter().print("Invalid credentions");
  53.  
  54. }
  55. }
  56.  
  57. <filter>
  58. <filter-name>LoginFilter</filter-name>
  59. <filter-class>mypackage.filters.LoginFilter</filter-class>
  60. </filter>
  61.  
  62. <filter-mapping>
  63. <filter-name>LoginFilter</filter-name>
  64. <url-pattern>/*</url-pattern>
  65. </filter-mapping>
  66.  
  67. <servlet>
  68. <servlet-name>LoginServlet</servlet-name>
  69. <servlet-class>mypackage.servlets.UserController</servlet-class>
  70. </servlet>
  71.  
  72. <servlet-mapping>
  73. <servlet-name>LoginServlet</servlet-name>
  74. <url-pattern>/login</url-pattern>
  75. </servlet-mapping>
  76.  
  77. public class LoginFilter implements Filter {
  78. @Override public void init(FilterConfig config) {}
  79. @Override public void destroy() {}
  80. @Override public void doFilter(ServletRequest req,
  81. ServletResponse res,
  82. FilterChain chain) throws IOException, ServletException {
  83. HttpServletRequest request = (HttpServletRequest) req;
  84. HttpServletResponse response = (HttpServletResponse) res;
  85. HttpSession session = request.getSession(false);
  86.  
  87. String loginURL = request.getContextPath() + "/login.jsp";
  88.  
  89. boolean loggedIn = session != null && session.getAttribute("user") != null;
  90. boolean loginRequest = request.getRequestURI().equals(loginURL) || request.getRequestURI().equals(loginURL + ".xhtml"); // Эта проверка важна иначе фильтр будет вечно перенаправлять на страницу login.jsp
  91.  
  92. if(loggedIn || loginRequest) {
  93. chain.doFilter(req, res);
  94. }
  95. else {
  96. response.sendRedirect("login.jsp");
  97. }
  98. }
  99. }
  100.  
  101.  
  102. public class LoginServlet extends HttpServlet {
  103. private static final Logger logger = Logger.getLogger(LoginServlet.class.getName());
  104. @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
  105. String login = request.getParameter("login");
  106. String password = request.getParameter("password");
  107.  
  108. Database database = new Database(); // класс который отвечает за соединение с базой данных и запросы к ней
  109. User user = database.findUserByLogPass(login, password);
  110. if(user != null) {
  111. logger.log(Level.INFO, String.format("User %s has logged in", user));
  112. request.getSession().setAttribute("user", user);
  113. response.sendRedirect("index.jsp");
  114. }
  115. else {
  116. logger.log(Level.WARNING, "User with such login and password doesnt exist");
  117. request.getRequestDispatcher("login.jsp").forward(request, response);
  118. }
  119. }
  120. }
Add Comment
Please, Sign In to add comment