public IHttpActionResult validationUser(string UserToValidate) { try { //CODIGO PARA OBTENER EL USUARIO Y CONTRASEÑA DEL DIRECTORIO ACTIVO DESDE EL WEBCONFIG var a = directorioactivo.validaUsuarioLDAP(Properties.Settings.Default.userServiceDA, Properties.Settings.Default.passwordServiceDA, Properties.Settings.Default.loginIntranet, Properties.Settings.Default.dominioDa, UserToValidate); //var a = new { userNumber = "afmosqu", nombreCompleto = "Anthony Mosquera", existe = true, error = "", mail = "*****@*****.**" }; return(Ok(a)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var allowedOrigin = "*"; context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { allowedOrigin }); var userManager = context.OwinContext.GetUserManager <ApplicationUserManager>(); ApplicationUser user = null; //bypass de validación de directorio activo if (Properties.Settings.Default.ambiente != "des") { //validacion directorio activo var validaDA = directorioActivo.validaUsuarioLDAP(context.UserName, context.Password, Properties.Settings.Default.loginIntranet, Properties.Settings.Default.dominioDa); if (validaDA.existe) { user = await userManager.FindAsync(context.UserName, context.UserName); if (user == null) { context.SetError("Usuario no existe", "Usuario no existe registrado aplicativo SAX."); return; } else if (user.Estatus == 0) { context.SetError("Usuario inactivo", "Usuario inactivo en aplicativo SAX."); return; } } else { context.SetError("Usuario no existe", "El usuario no existe en el directorio activo."); return; } } else { user = await userManager.FindAsync(context.UserName, context.UserName); if (user == null) { context.SetError("Usuario no existe", "Usuario no existe registrado aplicativo SAX."); return; } else if (user.Estatus == 0) { context.SetError("Usuario inactivo", "Usuario inactivo en aplicativo SAX."); return; } } ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager, OAuthDefaults.AuthenticationType); ClaimsIdentity cookiesIdentity = await user.GenerateUserIdentityAsync(userManager, CookieAuthenticationDefaults.AuthenticationType); AuthenticationProperties properties = CreateProperties(user.UserName); AuthenticationTicket ticket = new AuthenticationTicket(oAuthIdentity, properties); context.Validated(ticket); context.Request.Context.Authentication.SignIn(cookiesIdentity); }