diff --git a/src/YhCore.WebApi/Startup.cs b/src/YhCore.WebApi/Startup.cs index ea5c05b..6af9024 100644 --- a/src/YhCore.WebApi/Startup.cs +++ b/src/YhCore.WebApi/Startup.cs @@ -89,12 +89,15 @@ namespace YhCore.WebApi // 对象映射:对应 Java ModelMapper services.AddAutoMapper(typeof(Startup)); - // 对应 Java @CrossOrigin(originPatterns={"*"}, allowCredentials="true"); - // AllowAnyOrigin 与 AllowCredentials 不能同时生效,接入 CAS 后按 yh.sso.allow-origins 收紧 + // 对应 Java @CrossOrigin(originPatterns={"*"}, allowCredentials="true"): + // SetIsOriginAllowed(_=>true) 回显请求 Origin(而非 *)+ AllowCredentials, + // 使跨域请求能携带 CAS 登录 Cookie(AllowAnyOrigin 与 AllowCredentials 不能并存,会产生 * + 凭证被浏览器拒绝)。 + // 注意:任意源 + 凭证存在 CSRF 风险,上线前按 yh.sso.allow-origins 收紧为白名单。 services.AddCors(options => options.AddPolicy("default", builder => builder - .AllowAnyOrigin() + .SetIsOriginAllowed(_ => true) .AllowAnyMethod() - .AllowAnyHeader())); + .AllowAnyHeader() + .AllowCredentials())); // 数据层:默认 SQL Server 主库,DatabaseProvider=MySql 可切换 services.AddDataLayer(Configuration);