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

Como hago para implementar varios web.config en una aplicacion????

Estas en el tema de Como hago para implementar varios web.config en una aplicacion???? en el foro de .NET en Foros del Web. Amigos del foro: He aqui yo de nuevo importunandolos con otra pregunta: Tengo una aplicacion para ver postales, que tiene una carpeta raiz, donde está ...
  #1 (permalink)  
Antiguo 17/12/2004, 15:18
 
Fecha de Ingreso: mayo-2003
Ubicación: Monte VI D.E.O.
Mensajes: 78
Antigüedad: 20 años, 11 meses
Puntos: 0
Como hago para implementar varios web.config en una aplicacion????

Amigos del foro:

He aqui yo de nuevo importunandolos con otra pregunta:

Tengo una aplicacion para ver postales, que tiene una carpeta raiz, donde está el default.aspx / web.config / global.asax y un archivo llamado verpostal.aspx (adivinen para que sirve)
En ese directorio raiz, hay una carpeta llamada "paginas" donde están todas las paginas en donde creás la postal, la previsualizás, etc.
Además, existen dos paginas ahi dentro: default.aspx y login.aspx

Cual es la idea de todo esto?

Que cuando una persona recibe un aviso por mail de que le mandaron una postal, pueda ir hasta el sitio y la pueda ver sin problemas (verpostal.aspx y el web.config que hay en el raiz deja entrar a todo el mundo con allow users="*")
Pero, solo los usuarios registrados pueden enviar postales, para eso si alguien entra al sitio, va a pasar la siguiente logica:

Por defecto se lee el default.aspx del directorio raiz, ése archivo en el evento OnLoad tiene una redireccion:

Response.Redirect("paginas")

Eso hace que vaya a la carpeta paginas y lea el default.aspx que hay ahi, pero, como el usuario no está autenticado, tengo un web.config dentro de esa carpeta que tiene autenticacion por medio de formularios que le redirecciona hasta la pagina login.aspx dentro de esa misma carpeta....

Complicado no?

En resumen, cuando un usuario no logueado quiere entrar recorre dos paginas default.aspx hasta llegar a una tercera login.aspx

El problema que me pasa puntualmente es el siguiente

Cuando hice la prueba la primera vez, el Framework me dio un problema que segun el mismo Framework decia que pasaba porque un directorio virtual no estaba configurado como una aplicacion
Eso lo resolví facil: me fui al IIS, al directorio Postales, entré a la carpeta Paginas y la configuré como aplicacion a ésta ultima

Ahora me salta otro problema:
Toda la logica funciona perfectamente hasta que llega a login.aspx, cuando llega ahi se cuelga y el framework me dice "Parser Error: Could not load type 'XXXXXXXX' "

Buscando y buscando en internet encontré que eso pasa por lo general porque no hay ninguna DLL en el directorio BIN, el tema es que mi carpeta Paginas (configurada como aplicacion), no tiene un directorio bin, porque es apenas un contenedor de paginas y no una aplicacion en si, pero para que el IIS me de pelota al web.config, tuve que configurar a la carpeta como aplicacion.

LA pregunta del millon: Como hago para tener 2 web.config en una misma aplicacion y que no me generen problemas como ahora??? o lo que me pasa es otra cosa??? mejor me dedico a la Carpinteria????

Espero que puedan ayudarme y disculpen la epistola, es que queria darles todos los detalles, ah! hablando de detalles, me faltó decir que estoy usando vb.net 2003

Gracias por cualquier aporte!!!!!!
__________________
:adios: Henry Rodriguez :adios:
El todo es mucho mas que la suma de las partes<-- No se quien lo dijo pero suena interesante :)
  #2 (permalink)  
Antiguo 17/12/2004, 18:00
 
Fecha de Ingreso: diciembre-2004
Mensajes: 130
Antigüedad: 19 años, 4 meses
Puntos: 0
1 WebConfig / Usuario Invitado

Hola.

Lo que se puede hacer en este caso es crear un usuario INVITADO("A001").

Cuando a la persona le llega el correo electronico con el link login.aspx?ID=123456 la persona es direccionada a la pagina de login.aspx y es en page_load donde evaluas si por QueryString llega un ID, si en caso llega un ID evaluas su existencia y redireccionas a la pagina de la postal creando una Session de Invitado con el usuario de tu base de de datos llamado INVITADO.
Algo asi:

Código:
private void Page_Load(object sender, System.EventArgs e)
{
	if(Request.QueryString["ID"]!=null)
	{
		/*Verificar id en la BD*/
		//......

		/*Asumiendo que A001 sea el pk de invitado en la tabla de usuarios*/
		Session["oUsuario"] = Usuario().obtenerXId("A001");
		FormsAuthentication.RedirectFromLoginPage("****", false);
		Response.Redirect("paginas/tarjeta.aspx?ID="+Request.QueryString["ID"].ToString());
	}
}
Ahora, el problema en este caso podria ser que el usuario ya se encuentra autenticado en el site y cambiando la URL podria entrar a otras paginas. Esto se solucionaria validando el acceso a la pagina en el evento page_load de cada una de las paginas.
Algo asi:

Código:
Usuario oUsuario = (Usuario)Session["oUsuario"];
if(UsuarioPuedeIngresar(oUsuario))
{
    //Ir a ver
}
else
{
   //Ir a aviso no puedes ingresar a esta pagina
}
Bueno espero haberte podido ayudar.

Saludos cordiales desde la tierra del rico cebiche y el verdadero pisco.
__________________
langdotnet

Última edición por lang.net; 17/12/2004 a las 18:02
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 07:10.