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.