Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

227
Vistas
cómo restringir la solicitud de origen cruzado para otros dominios usando COR

Estoy trabajando en el proyecto web api de asp.net. Quiero permitir solo el acceso a mi dominio, pero funciona bien cuando llamo a mi webapi desde JavaScript, pero el problema es que cuando llamo a la web api desde el código c #, permite que cualquier dominio acceda. ¿Cómo puedo restringir esto? quiero dar acceso solo para mi dominio

Estoy trabajando en el proyecto web api de asp.net. Quiero permitir solo el acceso a mi dominio, pero funciona bien cuando llamo a mi webapi desde JavaScript, pero el problema es que cuando llamo a la web api desde el código C#, permite que todos accedan a Domine. ¿Cómo puedo restringir esto? ..? quiero dar acceso solo para mi dominio

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede usar Microsoft.AspNet.WebApi.Cors, un paquete Nuget de Microsoft. Siga estos pasos:

  1. paquete de instalación para su proyecto de API.

  2. agregue un código de línea a su archivo App_Start/WebApiConfig.cs para habilitar la función: config.EnableCors();

     using System.Web.Http; namespace WebService { public static class WebApiConfig { public static void Register(HttpConfiguration config) { // New code config.EnableCors(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } } }
  3. use el atributo en su controlador o acción como esta:

     using System.Net.Http; using System.Web.Http; using System.Web.Http.Cors; namespace WebService.Controllers { [EnableCors(origins: "http://mywebclient.azurewebsites.net", headers: "*", methods: "*")] public class TestController : ApiController { // Controller methods not shown... } }

Puedes obtener más información aquí

about 4 years ago · Juan Pablo Isaza Denunciar

0

1=> var cors = new EnableCorsAttribute("http://mydomain", "*", "*"); config.EnableCors(cors); Escribí este código en el archivo de configuración web como nivel global, pero funciona bien cuando llamo a mi API web desde el lado del cliente, solo permite un dominio específico

2=> Este es mi código del lado del cliente

 <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/2.2.0/knockout-min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> $ $.ajax({ url: "http://localhost:49676/Account/ValidLogin", method: "get", data: Employee, dataType: "json", //contentType: "application/json", success: function (data) { GetAllEmployee(data); alert("success"); console.log(data); }, error: function (err) { alert("error"); }
3. Escribí un código en el archivo de configuración web para restringir la solicitud de otro dominio, pero cuando llamo a la API web por parte del cliente, permito que cualquier dominio acceda, por lo que mi problema es que quiero restringir mi formulario API Otro dominio público

Aquí está mi código del lado del servidor

void protegido btnDelete_Click(objeto remitente, EventArgs e) {

 string strUrl = string.Format("http://mydomain/account/validlogin?username=admin&password=admin"); HttpWebRequest requestObjectGet = (HttpWebRequest)HttpWebRequest.Create(strUrl); requestObjectGet.Method = "GET"; HttpWebResponse responseObjectGet = null; responseObjectGet = (HttpWebResponse)requestObjectGet.GetResponse(); string strresulttest = null; using (Stream stream = responseObjectGet.GetResponseStream()) { StreamReader sr = new StreamReader(stream); strresulttest = sr.ReadToEnd(); JavaScriptSerializer js = new JavaScriptSerializer(); string StrToken = js.Deserialize<string>(strresulttest); Session["ApiToken"] = StrToken;

}

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda