2018年1月8日

2018/1/8 posted in  码农日志
  1. axios 跨域请求携带 Cookie
  2. Action 忽略 Controller 上的身份验证标记

axios 跨域请求携带 Cookie

  • axios 设置 axios.defaults.withCredentials = true; 可以使用这种默认的,也可以单独配置某个请求的。
  • 服务端设置响应头 参考

    Access-Control-Allow-Origin 允许跨域的域名
    Access-Control-Allow-Methods 允许的请求类型 POST,GET
    Access-Control-Allow-Credentials 是否允许跨來源資源共享,设置为true
    
  • Cookie 的 SameSite 属性设置为none 参考 中文参考 .net Core Cookie 设置参考

  • 如果是跨域上传,还需要有一个接收 OPTIONS 谓词请求的Action

    /// <summary>
    /// 跨域上传必须
    /// </summary>
    /// <returns></returns>
    [HttpOptions]
    public JsonResult UploadFile()
    {
        return Json(new ResultHelper(true));
    }
    

Action 忽略 Controller 上的身份验证标记

[AllowAnonymous] 只要打上这个标记就可以,永远匿名访问 参考