Exemple #1
0
        /// <summary>
        /// Login de usuario.
        /// </summary>
        /// <param name="user">El parámetro es un string que contiene usuario y contraseña</param>
        /// <returns bool></returns>
        //CRUD Usuario
        public bool Login(string user)
        {
            //El Xml Lee los datos pasados del login Web y procede a leerlos con reader
            XmlSerializer ser    = new XmlSerializer(typeof(Modelo.Usuario));
            StringReader  reader = new StringReader(user);

            Modelo.Usuario usuario = (Modelo.Usuario)ser.Deserialize(reader);

            //Agregado Datos y Modelo a las clases para saber de donde proceden
            Datos.USUARIO uDatos = new Datos.USUARIO();
            uDatos.NOMBRE_USUARIO = usuario.NOMBRE_USUARIO;
            uDatos.PASSWORD       = usuario.PASSWORD;
            ServicioLogin servicio = new ServicioLogin();

            return(servicio.Login(uDatos));
        }
        /// <summary>
        /// Metodo que valida las credenciales de usuario y retorna un token para usar los métodos del API dependiendo de los permisos.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var servicioLogin = new ServicioLogin();

            var usuario = context.UserName;
            var password = context.Password;

            var user = servicioLogin.ValidarUsuario(usuario, password);

            if (user != null)
            {
                var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                
                identity.AddClaim(new Claim(ClaimTypes.Role, user.Rol));
                identity.AddClaim(new Claim(ClaimTypes.Name, user.User));
                context.Validated(identity);
            }
            else
            {
                context.SetError("Permiso Denegado", "Error en el usuario o la contraseña. Por favor vuelva a intentarlo.");
                return;
            }
        }
Exemple #3
0
 // se arma el constructor y se guardan en variables privadas lo que inyecta autofac
 public LoginController(ServicioLogin servicioLogin, ServicioRegistrar servicioRegistrar)
 {
     _servicioLogin     = servicioLogin;
     _servicioRegistrar = servicioRegistrar;
 }
Exemple #4
0
 public void Inicializar()
 {
     _mockRepositorioUsuario = new Mock <IRepositorioUsuario>();
     _servicio = new ServicioLogin(_mockRepositorioUsuario.Object);
 }