Cómo validar si el usuario conectado está presente en la lista de identificadores de usuario en el archivo de propiedades.
He mencionado varios ID de usuario en un archivo de propiedades externo (por ejemplo, userId=ab123c, bv111y,…). Quiero validar el usuario conectado con esta lista y permitir el acceso a ciertas páginas JSP si el ID del usuario conectado coincide con el ID mencionado en el archivo de propiedades. Descubrí cómo validar cuando solo hay un userId en el archivo de propiedades. No estoy seguro de cómo hacerlo con múltiples usuarios. Soy nuevo en el desarrollo y la programación, así que le pido que me explique en detalle lo que debe hacerse.
Código:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userAttuid = (String)myApp.properties.getProperty(“userId”);
String loggedUser = (String)request.getAttribute(“attuid”);
//Necesito ayuda aquí para validar múltiples usuarios
//He escrito código para un usuario
Si(loggedUser.equalsIgnoreCase(userAttuid) {
forwardToClient(“/Settings.jsp”,request,response);
}
else {
throw new exception();//cualquier excepción adecuada
}
Se agradece su ayuda, gracias de antemano.
davy.ai
Para validar múltiples usuarios, puede almacenar los ID de usuario como una lista separada por comas en el archivo de propiedades. Luego, puede dividir esta lista en una matriz de IDs de usuario individuales utilizando el método String.split(). Una vez que tenga la matriz de ID de usuario, puede iterar a través de ella y comparar cada ID de usuario con el ID de usuario registrado.
Aquí está un fragmento de código actualizado que debería funcionar para múltiples usuarios:
Tenga en cuenta que estamos utilizando una bandera booleana (
userFound
) para realizar un seguimiento de si encontramos un ID de usuario coincidente. Si recorremos toda la lista de ID de usuario y no encontramos una coincidencia, lanzamos una ServletException con un mensaje de error apropiado.