Foros del Web » Programación para mayores de 30 ;) » Java »

Comparar usuario de forma automatica

Estas en el tema de Comparar usuario de forma automatica en el foro de Java en Foros del Web. Hola soy nuevo en esto de la programacion web y tengo un problema con JSF, tenemos una pagina principal que pide un usuario y contraseña, ...
  #1 (permalink)  
Antiguo 24/11/2010, 12:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Entrar Usuario sin logear de nuevo

Hola soy nuevo en esto de la programacion web y tengo un problema con JSF, tenemos una pagina principal que pide un usuario y contraseña, al ingresar un administrador puede ver un enlace a una pagina que pide ingresar de nuevo el usuario y contraseña

La idea es que ya no pida el usuario, si no q con la cookie generada al ingresar a la pagina principal ingrese a esa otra pagina, este es el codigo de la pagina de login.jsp

Código:
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ page language="java" import="javax.servlet.http.Cookie"%>

<HTML>
 <HEAD>
  <TITLE>
Generador de Cursos y Exámenes
</TITLE>
	<link rel="stylesheet" type="text/css" href="/SIRH_CognosGen/jquery/login/style.css" />
 </HEAD>

 <BODY>
<f:view>
<div align='center'>

<h:form>
<table>
		
		<tr><td><h:commandLink action='ir_candidatos'>Candidatos</h:commandLink></td></tr></table>
		<table>
			<tr><td colspan = "2"><h:outputText value="#{loginUser.msg}" style="color:red;"/></td></tr>
			
				<tr><td><h:inputText value="#{loginUser.user}"/></td></tr>
				<tr><td><h:outputText value="Usuario" /></td><td><h:inputText value="#{loginUser.user}" /></td></tr>
				<tr><td><h:outputText  value="Contraseña:" /></td><td><h:inputSecret value="#{loginUser.pass}" /></td></tr>
			<tr><td colspan = "2" align ='center'><br/><h:commandButton action="#{loginUser.CheckUser}" value='Ingresar'/></td></tr>

		</table>

</h:form>

</div>

</f:view>

</BODY> 
</HTML>
y la clase de java que hace el CheckUser tiene este codigo

Código:
public String CheckUser(){
	//public String CheckUser(String user){
		if ("CPCAQ00142".equals(getUser()) )
			//if ("Administrador".equals(getUser()) && "Administrador".equals(getPass()) )
			return "ir_admin";
		else if 	("Adminfiles".equals(getUser()) && "Adminfiles".equals(getPass()) )
		//else if 	("Adminfiles".equals(getUser()) && "Adminfiles".equals(getPass()) )
			return "adminfiles";
		else
		{
			setMsg("Usuario no permitido");
			return "";		
		}
			
	}
Yo intente agregarle esto a login.jsp

Código:
<%@page import="java.io.PrintWriter"%>
<%@page import="javax.faces.FacesException"%>
<%@page import="com.sun.xml.internal.ws.handler.HandlerException"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@page import="javax.servlet.http.Cookie" %>
<%@page import="javax.faces.context.FacesContext" %>
<%@page import="javax.faces.application.Application" %>
<%@page import="org.cpc.azt.com.dao.utilobject.DaoQuerys" %>
<%@page import="org.cpc.azt.com.sirh.beans.LoginUser" %>
<%@page import = "org.cpc.azt.com.sirh.util.*"%>

<% 
 
 HttpServletRequest requests = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
 //HttpSession sessionA = request.getSession();
 Cookie[] cookies = requests.getCookies();
 DaoQuerys dq = new DaoQuerys();
 LoginUser lg = new LoginUser();
 PrintWriter pw = response.getWriter();
 String user_id = "";
 String user = "";
 Boolean existeCookie = false;
 Boolean existeUsuario = false;
 FacesContext facesContext = FacesContext.getCurrentInstance();
int numCookies = 0;	
try
{
	numCookies = cookies.length;
}catch(NullPointerException e)
{
	numCookies = 0;
}
 if(numCookies>0){
	 for(int i = 0; i < numCookies; i++)
	 {	
	 			if(cookies[i].getName().equals(ConstantesVariables.COOKIE_NAME))
	 			{
	 				user_id = dq.PermisoAdmin(cookies[i].getValue());
	 				existeCookie = true;
	 				if(!user_id.equals("null")) existeUsuario = true;
	 				
	 			}
	 }
 }
 
 if(!existeCookie) 
 {
 	response.sendRedirect(no_user.jsp);
 	//RequestDispatcher view = request.getRequestDispatcher("http://www.google.com");
 	//view.forward(request,response);
	
 }
 else
 {
 	if(!existeUsuario) response.sendRedirect(no_user.jsp);
 	else
 	{
 	try{
	 	    facesContext = FacesContext.getCurrentInstance();
			LoginUser myBean=(LoginUser)facesContext.getApplication().getVariableResolver().resolveVariable(facesContext,"loginUser");
			myBean.setToken(user_id);
			myBean.setUser(user_id);			
			myBean.CheckUser();
 		}
 	catch(FacesException e){} 
	       RequestDispatcher view = request.getRequestDispatcher(header.jsp);
		   view.forward(request,response);
		  
 	
 	} 
 }
 
 %>
Y quitarle la parte de codigo HTML que tiene, el chiste es que al hacer esta modificacion si me envia a la otra pagina, pero ya los enlaces q estn dentro de la otra pgina no hacen nada, lo que entiendo es porque no retorna "ir_admin" de LoginUser, alguien sabe como hacerle???

Última edición por RiNo_sKa; 26/11/2010 a las 11:19
  #2 (permalink)  
Antiguo 26/11/2010, 11:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Comparar usuario de forma automatica

Ayuda pleas

Etiquetas: comparar, usuarios, formulario, automatico
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:12.