1313
1414import static java .util .Objects .nonNull ;
1515
16- // @WebFilter("/")
17- @ WebFilter (servletNames = "IndexServlet" )
16+ @ WebFilter ("/admin " )
17+ // @WebFilter(servletNames = "IndexServlet")
1818public class IndexFilter implements Filter {
1919
2020 @ Override
@@ -23,29 +23,52 @@ public void init(FilterConfig filterConfig) throws ServletException {
2323
2424 @ Override
2525 public void doFilter (ServletRequest request , ServletResponse response , FilterChain filterChain ) throws IOException , ServletException {
26- System .out .printf ("Filter working" );
27-
2826 final HttpServletRequest req = (HttpServletRequest ) request ;
2927 final HttpServletResponse res = (HttpServletResponse ) response ;
3028
31- final String login = req .getParameter ("authLogin" );
32- final String password = req .getParameter ("authPass" );
29+ final HttpSession session = req .getSession (false );
30+
31+ if (session .getAttribute ("login" ) == null ||
32+ session .getAttribute ("password" ) == null ){
33+ final String login = req .getParameter ("authLogin" ); //читаю из формы
34+ final String password = req .getParameter ("authPass" );
35+ session .setAttribute ("password" , password );
36+ session .setAttribute ("login" , login );
37+ }
3338
34- final HttpSession session = req .getSession ();
39+ final String login = (String ) session .getAttribute ("login" );
40+ final String password = (String ) session .getAttribute ("password" );
3541
36- if (login == null || password == null ) { //первое посещение
37- filterChain .doFilter (request , response );
38- } else if (UserService .getInstance ().userIsExist (login , password )) { // не заходил, существует
39- req .getSession ().setAttribute ("password" , password );
40- req .getSession ().setAttribute ("login" , login );
42+ if (UserService .getInstance ().userIsExist (login , password )){
4143 if (UserService .getInstance ().isAdmin (login , password )) {
42- res .sendRedirect (" main" );
43- } else {
44- res .sendRedirect (" user" );
44+ res .sendRedirect (req . getContextPath () + "/admin/ main" );
45+ }else {
46+ res .sendRedirect (req . getContextPath () + "/ user" );
4547 }
48+ }else {
49+ res .sendRedirect (req .getContextPath () + "/" );
4650 }
51+
52+
53+ // if (login == null || password == null) { //первое посещение
54+ // filterChain.doFilter(request, response);
55+ // } else if (UserService.getInstance().userIsExist(login, password)) { // не заходил, существует
56+ // req.getSession().setAttribute("password", password);
57+ // req.getSession().setAttribute("login", login);
58+ // if (UserService.getInstance().isAdmin(login, password)) {
59+ // бегает по кругу фильтр-сервлет
60+ // res.sendRedirect(req.getContextPath() + "/admin/main");
61+ // request.getServletContext().getRequestDispatcher("/admin/main").forward(request, response);
62+
63+ // request.getRequestDispatcher("/admin/main").forward(request, response);
64+ // } else {
65+ // res.sendRedirect(req.getContextPath() + "/user");
66+ // request.getServletContext().getRequestDispatcher("/user").forward(request, response);
67+ // }
68+ // }
4769 }
4870
71+
4972 @ Override
5073 public void destroy () {
5174 }
0 commit comments