155 lines
4.5 KiB
C#
155 lines
4.5 KiB
C#
![]() |
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace LdapLoginLib.Models
|
|||
|
{
|
|||
|
public class UserInfo
|
|||
|
{
|
|||
|
#region Propiedades
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {Uid} Uid - Nombre de usuario o Login
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// xxx
|
|||
|
/// </remarks>
|
|||
|
public string? Usuario { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {EmployeeNumber} Documento de identidad.
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Cadena de caracteres, sólo números y letras en
|
|||
|
/// maýuscula, sin espacios, sin ceros al inicio.Con
|
|||
|
/// la consolidación de identidades, este atributo
|
|||
|
/// queda ÚNICO en el directorio a nivel nacional.
|
|||
|
/// Puede contener un guion y un dígito
|
|||
|
/// consecutivo que asociado en las cuentas hijas
|
|||
|
/// de un usuario. La cuenta principal no tendrá este sufijo
|
|||
|
/// </remarks>
|
|||
|
public string? NumeroDocumento { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {Cn} Nombres y apellidos completos
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Cadena de caracteres, cada palabra con mayúscula inicial
|
|||
|
/// </remarks>
|
|||
|
public string? NombreCompleto { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {GivenName} Nombres completos
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Cadena de caracteres, cada palabra con mayúscula inicial
|
|||
|
/// </remarks>
|
|||
|
public string? Nombres { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {Sn} Apellidos completos
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Cadena de caracteres, cada palabra con mayúscula inicia
|
|||
|
/// </remarks>
|
|||
|
public string? Apellidos { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {Mail} Dirección de correo UNAL
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Cadena de caracteres en minúscula, uid+"@unal.edu.co"
|
|||
|
/// </remarks>
|
|||
|
public string? Correo { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {MailAlternateAddress} Correo alterno
|
|||
|
/// </summary>
|
|||
|
public string? CorreoAlt { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {O} Sede
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Cadena de caracteres, según tabla 11.1
|
|||
|
/// </remarks>
|
|||
|
public string? Sede { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {inetUserStatus} Estado identidad
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Active / Inactive, uso propio del directorio.
|
|||
|
/// A diferencia del campo nsAccountLock este
|
|||
|
/// campo es informativo.Anteriormente usado
|
|||
|
/// en la suite de servicio de correo Sun JES.
|
|||
|
/// </remarks>
|
|||
|
public string? Estado { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {IsActive}
|
|||
|
/// Indica el estado, si esta activo o inactivo
|
|||
|
/// </summary>
|
|||
|
public bool Activo { get; set; }
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
public static explicit operator UserInfo(LdapUserInfo userInfo)
|
|||
|
{
|
|||
|
//if (userInfo == null) throw new Exception();
|
|||
|
|
|||
|
return new UserInfo
|
|||
|
{
|
|||
|
Usuario = userInfo.Uid,
|
|||
|
NumeroDocumento = userInfo.EmployeeNumber,
|
|||
|
NombreCompleto = userInfo.Cn,
|
|||
|
Nombres = userInfo.GivenName,
|
|||
|
Apellidos = userInfo.Sn,
|
|||
|
Correo = userInfo.Mail,
|
|||
|
CorreoAlt = userInfo.MailAlternateAddress,
|
|||
|
Sede = userInfo.O,
|
|||
|
Estado = userInfo.InetUserStatus,
|
|||
|
Activo = userInfo.IsActive ?? false
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/********************************************
|
|||
|
* *
|
|||
|
* Discared / not in used *
|
|||
|
* *
|
|||
|
********************************************
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {EmployeeType} Tipos de cuentas en LDAP
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// Ver tabla 4.3, pagina 12 - Lineamientos Identidad
|
|||
|
/// </remarks>
|
|||
|
//public string? TipoUsuario { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// {EmployeeNumber} xxxxxxxxx
|
|||
|
/// </summary>
|
|||
|
/// <remarks>
|
|||
|
/// xxx
|
|||
|
/// </remarks>
|
|||
|
|
|||
|
|
|||
|
// Definidos por LDAP
|
|||
|
// No encontrado
|
|||
|
/// <summary>
|
|||
|
/// Numero unico identificacion personal
|
|||
|
/// </summary>
|
|||
|
//public string? NUIP { get; set; } = null;
|
|||
|
|
|||
|
********************************************
|
|||
|
* *
|
|||
|
********************************************/
|
|||
|
|
|||
|
}
|