Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/01/2009, 18:52
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Iniciandome en seguridad asp.net (preguntas sobre System.Web. Principal)

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.
__________________
Charlie.