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