Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/01/2009, 14:53
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 7 meses
Puntos: 7
Respuesta: Otra duda mas con la seguridad... - SOLUCIONADO

Haber... el control loguea en el evento que puse yo. Y despues ejecuta otro evento, que es donde mete el usuario y demás en el Context.

Entonces... yo estaba metiendo en el Contexto a mi usuario personalizado, pero como despues se ejecutaba el evento LoggedIn, pues entonces me sobreescribia lo que yo estaba poniendo.

Para solucionarlo:
Código:
    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        Login objLogin = (Login)sender;
        if (GetLogin(objLogin.UserName, objLogin.Password))
        {
                        
            e.Authenticated = true;
        }
        else
        {
            e.Authenticated = false;
        }
    }



    protected void Login1_LoggedIn(object sender, EventArgs e)
    {
        IIdentity objIdentidad = new System.Security.Principal.GenericIdentity("chankly");
        GenericPrincipal objPrincipal = new GenericPrincipal(objIdentidad, new string[] { "admin|usuario" });
        FormsAuthenticationTicket objTicket = new FormsAuthenticationTicket(1, "chankly", DateTime.Now, DateTime.Now.AddMinutes(20), false, "admin|usuario");
        string ticketEncriptado = FormsAuthentication.Encrypt(objTicket);
        HttpCookie objCookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticketEncriptado);

        HttpContext.Current.User = objPrincipal;
        Response.Cookies.Add(objCookie);
    }

Bueno... ahora solo me falta saber por que en el SiteMap no hace caso de mis roles y me muestra siempre todo...

Saludos.
__________________
Charlie.