none
User.Identity.GetUserId<int>() regresa null (algunas veces) RRS feed

  • Pregunta

  • Buen día tengo un desarrollo donde en ocasiones la función User.Identity.GetUserId<int>() regresa null aún cuando el usuario ya fue validado por el sistema.

    En la página Login.aspx utilizo el siguiente código:

    // Validate the user password
                    var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
                    var signinManager = Context.GetOwinContext().GetUserManager<ApplicationSignInManager>();

                    // This doen't count login failures towards account lockout
                    // To enable password failures to trigger lockout, change to shouldLockout: true
                    var result = signinManager.PasswordSignIn(UserName.Text, Password.Text, RememberMe.Checked, shouldLockout: false);

                    switch (result)
                    {
                        case SignInStatus.Success:
                            {

    string url = Page.ResolveUrl("~/Default.aspx");

    IdentityHelper.RedirectToReturnUrl(url, Response);

    break;

    }

    }

    Y en la pantalla Default.aspx

    la función User.Identity.GetUserId<int>() en ocasiones devuelve null. Digo en ocasiones porque no siempre, a veces algunos usuarios si pueden entrar y otros no. Luego reinicio el IIS y ya todos pueden ingresar nuevamente.

    Algunas puntos adicionales:

    * El problema se soluciona reiniciando IIS.

    * Utilicé FormsAuthentication.SetAuthCookie(user.Id.ToString(), RememberMe.Checked); para intentar forzar la cookie de autenticación, pero tampoco funciona.

    * No tengo muchos usuarios, en ocasiones son solo 4, de los cuales 1 si entra si problemas y 3 no.

    Muchas gracias quedo en espera de sus observaciones.

    martes, 18 de septiembre de 2018 18:30