2017-01-16 2 views
0

У меня есть следующий контроллер:EnableCors без создания контроллера Instance

[EnableCors(origins: "*", headers: "*", methods: "*", 
    SupportsCredentials = true)] 
public class ResourceController { 
    public ResourceController (ResourceRepository repository) { 
    } 
} 

Где ResourceRepository определяется как

[PrincipalPermission(SecurityAction.Demand, Authenticated = true)] 
public class ResourceRepository { 

} 

Но когда браузер выдает параметров запроса оказалось, что .AttributeBasedPolicyProviderFactory пытается создать экземпляр ResourceController, чтобы искать его атрибуты. В результате instanciation не удалось с SecurityException «Запрос на разрешение основного пользователя не удался».

Возможно ли настроить CORS для API ASP.NET, чтобы он не стал препятствовать контроллеру?

ответ

0

Вы можете разместить свой веб-API с помощью OWIN и включить CORS для конвейера OWIN (см. Microsoft.Owin.Cors пакет NuGet). Вы должны зарегистрировать промежуточное ПО CORS перед промежуточным ПО Web API. Так как ваше промежуточное ПО CORS идет первым, оно будет выполнено до того, как запрос даже достигнет инфраструктуры веб-API.

Смежные вопросы