Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Nombre del Usuario (http://www.forosdelweb.com/f78/nombre-del-usuario-488682/)

sniper_lcd 09/05/2007 13:52

Nombre del Usuario
 
Buenas tardes, espero que me puedan ayudar con esto:

Tengo una pagina de inicio de sesion y ahi tengo 2 textbox y un boton
le doy mi nombre de usuario y mi contraseña y clickeo, y valida que sea correcto bla, bla, cuando es correcto, hago un response.redirect a la pagina principal

y mi pregunta es, como puedo mandar los datos que yo escribi en los textbox de la de inicio para la pagina principal, porque lo que quiero es que con los datos que yo escribi en la de inicio, hacer una consulta para traer el nombre del usuario y mostrarlo como
Bienvenido "Usuario"

Espero que tenga chance de ayudarme y espero que me hayan entendido
todas sus respuestas son bienvenidas

Saludos

sniper_lcd 10/05/2007 07:58

Re: Nombre del Usuario
 
Hola, soy yo mismo jaja, solo para informarles que ya descubri como de hace

hay que declarar una variable de sesion, en algunas paginas mencionan que no es muy conveniente usarlas, pero en mi caso si me ayudan, para hacer una variable de sesion es

Session("Variable")= valor

y para tomar el valor de esa variable es al reves

valor = Session("Variable")


y ya....
Saludos
JL

jabi 10/05/2007 13:16

Re: Nombre del Usuario
 
Por si alguien no quiere usar las variables que comentas, otra forma de hacerlo es colocar el siguiente código (C#) al pulsar el botón:

Código:

Response.Redirect("paginaDestino.aspx?nombre="+TextBox1.Text);
(o bien cambiando Response.Redirect por Server.Transfer, si queremos que no se vea el parámetro en la barra de direciones)

...donde TextBox1 es la caja de texto que contiene el nombre. Y por último recibir el parámetro en el procedimiento Page_Load de la página de destino, por ejemplo mostrándolo en un Label:

Código:

Label1.Text = "Bienvenido " + Request.Params["nombre"];
Saludos.

Bravenap 11/05/2007 01:49

Re: Nombre del Usuario
 
También puedes hacer lo siguiente. En el formulario en el que el usuario introduce sus datos y los validas creas un ticket de autenticación. Este ticket lo enviarás en forma de cookie al cliente.
Código:

....
FormsAuthentication.Initialize()
                    ' Se crea el ticket con el rol que le corresponda
                    Dim ticket As New FormsAuthenticationTicket(1, _
                            nombreUsuario, DateTime.Now, _
                            DateTime.Now.AddMinutes(20), _
                            True, roles, _
                            FormsAuthentication.FormsCookiePath)
                    ' Se encripta el ticket
                    Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
                    ' Se crea la cookie con el ticket encriptado
                    Dim cookie As New HttpCookie(FormsAuthentication.FormsCookieName, encTicket)
                    ' Caducidad de la cookie igual que el ticket
                    'cookie.Expires = ticket.Expiration
                    ' Se envía la cookie
                    Response.Cookies.Add(cookie)
                    ' Se redirige al usuario
                    Response.Redirect(Request.QueryString("ReturnUrl"))
...

Luego, desde cualquier parte del sitio y siempre que no haya caducado el ticket puedes acceder al nombre de usuario de esta manera:
Código:

Dim nombreUsuario As String = Context.User.Identity.Name
No olvides poner esto en el archivo global.asax:
Código:

    Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena al intentar autenticar el uso
        If Not (HttpContext.Current.User Is Nothing) Then
            If HttpContext.Current.User.Identity.IsAuthenticated Then
                If TypeOf HttpContext.Current.User.Identity Is FormsIdentity Then
                    Dim id As FormsIdentity = CType(HttpContext.Current.User.Identity, FormsIdentity)
                    Dim ticket As FormsAuthenticationTicket = id.Ticket
                    Dim userData As String = ticket.UserData
                    Dim roles() As String = userData.Split(",")
                    HttpContext.Current.User = New GenericPrincipal(id, roles)
                End If
            End If
        End If
    End Sub

Es un poco más largo pero luego el acceso es más rápido y sin recurrir a variables de sesión.

Un saludo.

PD: A ver si le podéis echar un vistacillo a mi problemilla.

Laufwerk 04/01/2008 10:33

Re: Nombre del Usuario
 
Cita:

Iniciado por jabi (Mensaje 2000780)
Por si alguien no quiere usar las variables que comentas, otra forma de hacerlo es colocar el siguiente código (C#) al pulsar el botón:

Código:

Response.Redirect("paginaDestino.aspx?nombre="+TextBox1.Text);
(o bien cambiando Response.Redirect por Server.Transfer, si queremos que no se vea el parámetro en la barra de direciones)

...donde TextBox1 es la caja de texto que contiene el nombre. Y por último recibir el parámetro en el procedimiento Page_Load de la página de destino, por ejemplo mostrándolo en un Label:

Código:

Label1.Text = "Bienvenido " + Request.Params["nombre"];
Saludos.

¿que diferencia hay entre Response.Redirect y FormsAuthentication.RedirectFromLoginPage?

yo utilizo FormsAuthentication.RedirectFromLoginPage(this.tb_ usuario.Text, true);

¿tambien puedo utilizar el Request.Params["nombre"];?, supongo que habrá otra manera de utilizarlo.
A ver si sabeis cual es...

Gracias por adelantado


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.