Servlet – Filtro de autenticación

Filtro de autenticación en servlets 

La autenticación se puede hacer en el filtro. Aquí, verificaremos la contraseña del usuario en la clase ServletFilter; si la contraseña es “geeksforgeeks” , la solicitud se enviará al servlet Gfg; de lo contrario, se mostrará un mensaje de error.

Implementación: veamos un ejemplo simple de cómo utilizar un filtro para autenticar a un usuario. Hemos producido cuatro archivos aquí:

  • índice.html
  • Gfg.java
  • ServletFilter.java
  • web.xml

Archivo: index.html

HTML

<form action = "servlet1">
  
               Name: < input type = "text" name = "name" / > < br / > < br / >
  
                                    Password: < input type = "password" name = "password" / > < br / > < br / >
  
                                            <input type = "submit" value = "login">
  
                                                    < / form >

Ejemplo 1-A:

Java

// Java Program to Illustrate ServletFilter Class
  
// Importing required classes
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
  
// Class
// Implementing Filter class
public class ServletFilter implements Filter {
  
    public void init(FilterConfig arg0)
        throws ServletException
    {
    }
  
    public void doFilter(ServletRequest req,
                         ServletResponse resp,
                         FilterChain chain)
        throws IOException, ServletException
    {
  
        PrintWriter out = resp.getWriter();
  
        String password = req.getParameter("password");
  
        if (password.equals("geeksforgeeks")) {
  
            // Sending request to next
            chain.doFilter(req, resp);
        }
  
        // Password incorrect
        else {
            out.print("username or password is wrong");
            RequestDispatcher rd
                = req.getRequestDispatcher("index.html");
            rd.include(req, resp);
        }
    }
    public void destroy() {}
}

Ejemplo 1-B:

Java

// Java Program to Illustrate GFG Class
  
// Importing required classes
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
// Class
// Derived from HttpServlet class
public class GFG extends HttpServlet {
  
    // Getting request response
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws ServletException, IOException
    {
  
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
  
        out.print("welcome to GEEKSFORGEEKS");
  
        // Closing connections to
        // avoid any memory leakage
        out.close();
    }
}

Archivo: web.xml

XML

<web-app>  
 <servlet>  
    <servlet-name>Gfg</servlet-name>  
    <servlet-class>Gfg</servlet-class>  
  </servlet>  
    
  <servlet-mapping>  
    <servlet-name>Gfg</servlet-name>  
    <url-pattern>/servlet1</url-pattern>  
  </servlet-mapping>  
      
 <filter>  
  <filter-name>f1</filter-name>  
  <filter-class>ServletFilter</filter-class>  
  </filter>  
  <filter-mapping>  
  <filter-name>f1</filter-name>  
  <url-pattern>/servlet1</url-pattern>  
  </filter-mapping>  
      
</web-app>

Producción:

Haga clic en el botón de inicio de sesión, si la contraseña es correcta, se mostrará el mensaje anterior al usuario.

Publicación traducida automáticamente

Artículo escrito por sanketnagare y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *