Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2011, 13:12
bicha_ares
 
Fecha de Ingreso: febrero-2005
Mensajes: 1
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Manejo de sesiones en la autenticacion en ASP.net

Hola a todos

Tengo un sitio que tiene el tipo de autentificacion por forms en asp.net, pero tengo un problema al manejar las sesiones debido a que una vez que me autentifico en un primer browser mi usuario se queda autentificado para todas las nuevas "ventanas" del browser que abro.

Revisando el Trace resulta que todas las ventanas tienen el mismo SessionId y no entiendo por que la configuracion que hago de la autentificacion es la siguiente

Código:
<authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="30" />
    </authentication>
y el manejo de roles es el siguiente

Código:
<roleManager enabled="true" cacheRolesInCookie="true" cookieName=".ASPXROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" defaultProvider="SimpleRoleProvider" createPersistentCookie="false" maxCachedResults="25">
      <providers>
        <clear />
        <add name="SimpleRoleProvider" type="Framework.Infraestructure.Security.Role" />
      </providers>
    </roleManager>
al momento de autentificarme tengo el siguiente codigo

Código:
  protected void LoginButton_Click(object sender, EventArgs e)
  {
 Authentication authentic = new Authentication();

                    if (authentic.Authenticate(this.LoginUser.UserName, this.LoginUser.Password))
                    {
 FormsAuthentication.RedirectFromLoginPage(this.LoginUser.UserName, false);
                    }
                    else
                    {
this.FailureText.Text = authentic.Message;
                        HttpContext.Current.User = null;
                    }

}
En el desconectar de la master page tengo:

Código:
 protected void lgsStatus_LoggingOut(object sender, LoginCancelEventArgs e)
        {
            FormsAuthentication.SignOut();
            HttpContext.Current.User = null;
            HttpContext.Current.Session.Clear();
        }
En el Trace aparecen las coockies

ASP.NET_SessionId, .ASPXAUTH

pero el ASP.NET_SessionId es el mismo en todas las paginas y no se porque

Alguien tiene alguna idea de como solucionar el problema ?

Gracias de ante mano