Мы разрабатываем веб-сайт на Angular 5. Серверная часть была разработана с использованием .Net Web API и SQL Server. Веб-сайт будет развернут в Azure и будет доступен как из Интернета, так и из интрасети.
Мы настроили параметры CROSS Origin, и он работает нормально. Теперь мы интегрировали систему единого входа федерации Ping с использованием SAML. Теперь сайт перенаправляется на стороннюю страницу входа и выдает ошибку «В ресурсе отсутствует заголовок разрешающей области управления доступом. Следовательно, нулевой источник не разрешает доступ». Нулевое значение не допускается » перед перенаправлением на страницу входа. Пытался указать несколько источников, разделенных запятыми, но все равно получалась та же ошибка. Ниже приведен пример кода.
var cors = new EnableCorsAttribute("http://localhost:4200", "*", "*");
cors.Origins.Add("https://3rd party url");
config.EnableCors(cors);
То же самое работает, если доступ к единому входу осуществляется из веб-API напрямую путем ввода URL-адреса. Предоставьте любые указания по решению этой проблемы.





Вы можете использовать прокси в своем клиенте и изменить источник клиента на все, что захотите.
Преимущества этого решения:
Для использования прокси
отредактируйте "start" вашего package.json, чтобы посмотреть ниже
"start": "ng serve --proxy-config proxy.conf.json",
создайте новый файл с именем proxy.conf.json в корне проекта и внутри него определите свои прокси, как показано ниже.
{
"/api/*": {
"target": "http://localhost:56492",
"secure": "false"
}
}
Важно то, что вы используете npm start вместо ng serve.
Теперь в your service.ts введите URL-адрес отправки / получения запросов вместо localhost: 56492 / ... просто введите / api / Film.
Подробнее здесь: Настройка прокси angular 2 cli
Этот подход не работает, и я все еще получаю ту же ошибку.