我有下一个控制器:
[EnableCors(origins: "*", headers: "*", methods: "*",
SupportsCredentials = true)]
public class ResourceController {
public ResourceController (ResourceRepository repository) {
}
}
将ResourceRepository定义为
[PrincipalPermission(SecurityAction.Demand, Authenticated = true)]
public class ResourceRepository {
}
但是当浏览器发出OPTIONS请求时,事实证明.AttributeBasedPolicyProviderFactory尝试创建ResourceController的实例以查找其属性。因此,instanciation失败,SecurityException“请求主体权限失败。”
是否可以为ASP.NET API配置CORS,以便它不会实现控制器的安装?
答案 0 :(得分:0)
您可以使用OWIN托管Web API并为OWIN管道启用CORS(请参阅Microsoft.Owin.Cors
NuGet包)。您应该在Web API中间件之前注册CORS中间件。因此,当您的CORS中间件首先出现时,它将在请求甚至到达Web API基础结构之前执行。