zoukankan      html  css  js  c++  java
  • WebApi跨域

     跨域的原理 参考网址 :http://www.ruanyifeng.com/blog/2016/04/cors.html

      在我们WebAPI中怎么解决跨域问题那?直接实现

    首先要给项目Nuget

    然后修改webconfig

    <appSettings>
        <!--跨域设置  开始-->
        <add key="cors:allowedMethods" value="*"/>
        <!--它的值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求。-->
        <add key="cors:allowedOrigin" value="http://localhost:8610"/>
        <add key="cors:allowedHeaders" value="*"/>
        <!--跨域设置  结束-->
      </appSettings>

    重点是修改WebApiConfig文件

    public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                //跨域配置
                var allowedMethods = ConfigurationManager.AppSettings["cors:allowedMethods"];
                var allowedOrigin = ConfigurationManager.AppSettings["cors:allowedOrigin"];
                var allowedHeaders = ConfigurationManager.AppSettings["cors:allowedHeaders"];
                config.EnableCors(new EnableCorsAttribute(allowedOrigin, allowedHeaders, allowedMethods) {
                    SupportsCredentials=true,//支持用户凭证
                });
    
                // Web API 配置和服务
                // 将 Web API 配置为仅使用不记名令牌身份验证。
                config.SuppressDefaultHostAuthentication();
                config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
    
                // Web API 路由
                config.MapHttpAttributeRoutes();
    
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
    
            }
        }

    这样我们的webapi 跨域问题就解决了!!!

  • 相关阅读:
    systemctl
    防火墙firewalld
    k8s 基础概念
    进程
    模板问题
    自动发现
    oracle操作
    aix 10代oracle zabbix2.4.4 日志监控
    paramiko
    test
  • 原文地址:https://www.cnblogs.com/xqdotnet/p/8086106.html
Copyright © 2011-2022 走看看