Bueno... para concretar más la duda, con lo que he averiguado hasta ahora:
1-. Tengo esta clase:
Código:
[Serializable]
public class ClsUsuario : System.Security.Principal.IIdentity
{
public ClsUsuario(string nombreUsuario, string nombreCompletoUsuario, bool esCorrecto, string rolesUsuario)
{
this.Name = nombreUsuario;
this.NombreCompleto = nombreCompletoUsuario;
this.IsAuthenticated = esCorrecto;
this.UserRoles = rolesUsuario;
}
public bool IsAuthenticated { get; set; }
public string Name { get; set; }
public string NombreCompleto { get; set; }
public string UserRoles { get; set; }
public string AuthenticationType { get { return "Custom"; } }
}
2-. Si el usuario es correcto hago esto:
Código:
ClsUsuario objUsuario = new ClsUsuario("SGARCIA", "Saurio Garcia", true, "admin|usuario");
System.Security.Principal.GenericPrincipal unPrincipal = null;
unPrincipal = new System.Security.Principal.GenericPrincipal(objUsuario, objUsuario.UserRoles.Split('|'));
Context.User = unPrincipal;
Si hago un: Context.User.IsInRole me pilla los que meti antes y todo perfecto.
Sin embargo... cuando ya navego a otra página, el Context.User se pierde... ¿Como puedo hacer para que se guarde? Es con los tickets ?
En fin, espero haberme explicado bien con mi duda y espero puedan ayudarme, jejeje
Saludos.