none
Problemas con login? RRS feed

  • Pregunta

  • Hola a todos. Mi problema en realidad son 2.

    Primero que todo pondré los datos de lo que uso

    -Vs2010

    -ASP.Net C#

    -LDAP para el login

    Ahora los problemas

    1- El usuario puede registrarse sin problema en la aplicación, sin embargo a veces (la mayoría) debe poner su usuario y contraseña 2 veces pq la primera vez como que la página se carga nuevamente y no pasa nada.

    2- El usuario no permanece logueado. Esto igualmente no ocurre siempre, lo que se me hace más raro. El usuario se registra normalmente y al pasar para otra página pierde el login y tiene que loguearse nuevamente y esto le sigue pasando hasta que cierra el navegador y lo vuelve a abrir. Esto no me pasa con todos los usuarios pero si me pasa con más de 1.

    Espero sus respuestas. Salu2


    jueves, 6 de agosto de 2015 15:53

Respuestas

  • hola

    no evaluaste poner lineas de log en el codigo para validar por que eventos pasa cuando sucede esto que comentas

    quizas al autenticar alguna condicion no este realizando el redirect de forma correcta

    estas implementando asp.net membership ? defines la seguridad en el web.config

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 6 de agosto de 2015 16:17
  • Veras este es el código de mi botón login

    if (adAuth.IsAuthenticated(nomUsuario.Text, contrasena.Text))
                    {
                       
                        string groups = adAuth.GetGroups();
                       
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, nomUsuario.Text, DateTime.Now, DateTime.Now.AddMinutes(480), false, groups);
                      
                        string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                     
                        HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                       
                        Response.Cookies.Add(authCookie);
                                       
                        FormsAuthentication.SetAuthCookie(nomUsuario.Text, true);
                        Server.Transfer("~/Default.aspx", false);

                    }

    he seguido el código a línea y lo que noto es que al efectuar el

    Server.Transfer("~/Default.aspx", false);

    Se pierde el nombre de usuario cuando pasa para la otra página. Esto pasa en el caso del problema 1. Pero no entiendo pq a veces se pierde el nombre y a veces no.



    jueves, 6 de agosto de 2015 17:08
  • Hola, que tal las variables de sesión, eso podría solucionar tus problemas, al manejar el login, permisos para las funcionalidades y que no pase eso de no permanecer logueado.

    Te dejo unos links para que mires si también te pueden ser de utilidad, no tienen que ver con las variables de sesión pero son preguntas similares a la tuya, ya respondidas.

    Problema con login en asp.net

    Problema con login de usuarios

    Saludos.

    jueves, 6 de agosto de 2015 17:14

Todas las respuestas

  • hola

    no evaluaste poner lineas de log en el codigo para validar por que eventos pasa cuando sucede esto que comentas

    quizas al autenticar alguna condicion no este realizando el redirect de forma correcta

    estas implementando asp.net membership ? defines la seguridad en el web.config

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 6 de agosto de 2015 16:17
  • Veras este es el código de mi botón login

    if (adAuth.IsAuthenticated(nomUsuario.Text, contrasena.Text))
                    {
                       
                        string groups = adAuth.GetGroups();
                       
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, nomUsuario.Text, DateTime.Now, DateTime.Now.AddMinutes(480), false, groups);
                      
                        string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                     
                        HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                       
                        Response.Cookies.Add(authCookie);
                                       
                        FormsAuthentication.SetAuthCookie(nomUsuario.Text, true);
                        Server.Transfer("~/Default.aspx", false);

                    }

    he seguido el código a línea y lo que noto es que al efectuar el

    Server.Transfer("~/Default.aspx", false);

    Se pierde el nombre de usuario cuando pasa para la otra página. Esto pasa en el caso del problema 1. Pero no entiendo pq a veces se pierde el nombre y a veces no.



    jueves, 6 de agosto de 2015 17:08
  • Hola, que tal las variables de sesión, eso podría solucionar tus problemas, al manejar el login, permisos para las funcionalidades y que no pase eso de no permanecer logueado.

    Te dejo unos links para que mires si también te pueden ser de utilidad, no tienen que ver con las variables de sesión pero son preguntas similares a la tuya, ya respondidas.

    Problema con login en asp.net

    Problema con login de usuarios

    Saludos.

    jueves, 6 de agosto de 2015 17:14
  • Hola a todos.

    Gracias por sus respuestas. Al parecer era como decía Leandro y tenía unas líneas en el web.config que me faltaban. Pero bueno aparte de eso me di cuenta que para los objetivos de mi aplicación no necesitaba tanto código para el login ya que al final nunca uso los grupos y cosas así que tenía implementado. Por lo que quedo así

    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)

    {

    var adAuth = new LdapAuthentication();

    Login logueo = (Login)LoginView2.FindControl("login1");

    e.Authenticated = adAuth.IsAuthenticated(logueo.UserName, logueo.Password);

    }

    Con esto soluciono al menos el primero de mis problemas. El otro no se ha presentado más por el momento así que no se si también tenía q ver con esto. De todas formas lo doy por solucionado. Muchas gracias

    jueves, 6 de agosto de 2015 20:31