• 来吧学学.Net Core之登录认证与跨域资源使用


    学习core登录认证与跨域资源共享是越不过的砍,所以我在学习中同样也遇到啦这两个问题,今天我们就用示例来演示下使用下这2个技术点吧.

    本篇主要内容如下:

    1、展示一个登录认证的简单示例

    2、跨域资源访问

    3、跨域获取登录认证的用户信息

    public void ConfigureServices(IServiceCollection services)
            {
                //services.AddAuthorization();
                // Add framework services.
                services.AddMvc();
                services.AddCors(options => options.AddPolicy("AllowSameDomain", builder => builder.WithOrigins("http://a.local.com:50307", "http://b.local.com:63455")));
            }


    注意此方法只能解决各种GET/POST等请求的跨域问题,不能解决[Authorize]特性出现的问题

    .Net Core跨域访问需要登录认证的资源

    services.AddCors(options => options.AddPolicy("AllowSameDomain", builder => builder.WithOrigins("http://a.local.com:50307", "http://b.local.com:63455").AllowCredentials()));

    重点是

    .AllowCredentials()
    加上这个才能返回[Authorize]特性出现的未授权出现的跨域问题

    若要允许所有请求响应标头,请调用AllowAnyHeader方法

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors(options =>
        {
            options.AddPolicy(name: MyAllowSpecificOrigins,
                              builder =>
                              {
                                  builder.WithOrigins("http://www.test.com")
                                         .AllowAnyHeader();
                                  });
            });
            //user code ……
        }

    此问题解决!

    参考

    https://www.cnblogs.com/knowledgesea/p/7084419.html

     https://www.jianshu.com/p/c8ed4bb54351

    世界再大也有尽头!
  • 相关阅读:
    Android的读写文件及权限设置
    surfaceView和View的区别
    git的常见问题
    APP的缓存文件放在哪里?
    AndroidStudio遇到过的问题
    订单和支付状态不同步解决方法
    支付宝支付不成功原因
    格式化输出%s和%S的区别
    Android SDK更新下载失败以及Studio首次安装取消自动下载SDK
    SPOJ 104 HIGH
  • 原文地址:https://www.cnblogs.com/shijiehaiyang/p/14853261.html
Copyright © 2020-2023  润新知