| |||
Cambiar valor de ReturnURL Hola amigos, he leido el tema de autenticacion de formularios, está interesante, pero tengo una duda... Si el usuario accede a una página y no ha hecho el login salta la página para validar que le ponemso por defecto en el web.config y una vez validado con RedirectFromLoginPage se le envia a la pagina q solicitó, hasta aqui bien. El tema viene cuando el usuario solicita directamente la pagina para hacer login ya que entonces el valor de ReturnURL (q contiene la pagina solicitada) es cadena vacia y entonces nos redirecciona automaticamente a default.aspx y esto es lo que me gustaria cambiar, en lugar de que me lleve a default.aspx que me lleve a otra página en lugar de esta. Es posible??, un saludo |
| ||||
Podrías intentar con ésto: Cita: salu2 Dim returnUrl As String = Request.QueryString("ReturnUrl") If returnUrl Is Nothing Then returnUrl = "mipagina.aspx" End If Response.Redirect(returnUrl) ![]()
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| ||||
Por Get Cita: Y la recojes como lo hiciste con ReturnURL Response.Redirect ("otraPagina.aspx?valor=1&valor2=33") ![]() O tambien con sessiones Cita: Y para recogerlaSession ("algo") = "algun valor" otraPagina.aspx Cita: Salu2 ... ... dim s as String = Ctype(Session("algo"),String) 'Libero session Session("algo") = Nothing |
| ||||
Pa tu caso si en cada pagina que entras necesitas saber el nombre del usuario como ponias en otro tema yo utilizaria variables d session y me olvidaria La variable de session la asinas una vez y luego desde cualquier pagina mientras la session no caduque puedes acceder a esa variable Sino cada vez q redireccionas tedras q poner despues dl nombre d la pag ?nombre=nombreusuario Como veas |
| |||
Claro, por cierto Rootk lo q me comentaste de ReturnURL no me funciona, he dicho q si en un principio porque he probado a acceder a otra pagina, pero si accedo a la de login, no me funciona ese metodo...pego codigo... Else Session("usuario") = txtuser.Text If miURL Is Nothing Then Response.Redirect("principal.aspx", True) miCmd.Connection.Close() miReader.Close() End If FormsAuthentication.RedirectFromLoginPage(txtuser. Text, False) miCmd.Connection.Close() miReader.Close() End If Edito para decir que me carga la pagina de login de nuevo...y en la barra de URL me sale http://localhost/Proyecto/default.as...principal.aspx Me pierdo, la carpeta Proyecto es la q contiene todos los .aspx...porque toma ese valor ReturnURL???...un saludo, Última edición por Wilotas; 28/02/2005 a las 12:57 |
| ||||
Mira, el valor returnURL es un valor que automaticamente genera cuando usas la autentificacion.. ese valor no lo puedes cambiar.. pero si puedes manipular tu informacion como quieras... Podrías hacer ésto: Cita: ... .... If miURL Is Nothing Then Response.Redirect("principal.aspx", True) miCmd.Connection.Close() miReader.Close() End If FormsAuthentication.SetAuthCookie(txtuser. Text, False) response.redirect("otra_pagina.aspx") ... miCmd.Connection.Close() miReader.Close() |
| |||
No si el problema creo q no es ese, es decir, si me piden un recurso sin validarse, si q me lleva a la pagina de login y al hacer el login el RedirectFromLoginPage funciona bien, me muestra la URL q solicito el user, el problema viene en el if primero, que el redirect lo hace de una forma extraña y no me lleva a principal.aspx me lleva a un valor de ReturnURL q no se de donde lo saca... http://localhost/Proyecto/default.as...fprincipal.asp x |
| |||
respuesta miren yo tuve un problema parecido... pero lo k hice eske mi autentificacion es con consulta a base de datos e hice lo siguiente,.... con dropdownlist tengo dos tipos de usuarios donde digo k si es uno me tira a default.aspx o el otro a default2.aspx el codigo es el siguiente If Page.IsValid Then Dim userDS As New System.Data.DataSet userDS = GetUser(opcion1.selecteditem.text,user01.Text, Pass.Text) If userDS.Tables(0).Rows.Count = 1 Then If opcion1.selecteditem.text = "alumno" Then FormsAuthentication.RedirectFromLoginPage(user01.T ext, false) Else response.redirect("default2.aspx") End If End If End If espero k sirva de algo |