AX IOS url чувствителен к регистру - PullRequest
0 голосов
/ 11 марта 2020

Я работал над приложением, которое использует ASP. NET Core и VueJs. VueJs вызывает asp. net основной контроллер с использованием AX IOS. Все работает нормально. Я смог опубликовать sh сайт на IIS. Проблема начинается, когда я набираю URL своего веб-сайта в нижнем регистре.

URL-адрес моего веб-сайта:

http://10.131.XXX.XXX: 94 / MyWeb .

Внутренний ax ios вызывает метод контроллера для того же URL-адреса. Например, внутренне в компоненте vue js я написал что-то вроде этого

this.API_URL = "http://10.131.XXX.XXX: 94 / MyWeb

ax ios .post (this .API_URL + '/ UserManagement / GetAllUser', postData);

Но если ввести следующий URL моего веб-сайта

http://10.131.XXX.XXX: 94 / myweb

затем ax ios не может вызвать метод контроллера и вернуть код состояния 400 - Плохой запрос.

Я обновляю свой вопрос. Потому что нашел еще несколько подсказок по проблемам.

[1] Ошибка неверного запроса исчезнет, ​​если я удалю атрибут ValidateAntiForgeryToken из asp. net метода основного контроллера. Я добавлю RequestVerificationToken в заголовок ax ios. Но если мой запрос к myweb, это не доступно.

[2] Мой основной контроллер asp. net вызывает Web API, и я использую там аутентификацию токена. Я сохраняю токен в заявке, но эта заявка недоступна, когда я запрашиваю у ax ios myweb вместо MyWeb. Две вещи на веб-стороне с использованием подлинности на основе cook ie и для веб-API с использованием токен-аутентификации.

Я выясняю, что ЗАПРОС ПОЧТЫ ОТКАЗЫВАЕТСЯ ОТ AX IOS ТОЛЬКО ИЗ-ЗА ТОЧКИ АНТИОФОРМЕРНОСТИ В ASP. NET CORE. ТАКЖЕ, КОГДА Я ВХОДИ С ИСПОЛЬЗОВАНИЕМ ИМЕНИ ВЕБ-САЙТА LOWERCASE, РАЗРЕШАЕТСЯ ЗАПРОСИТЬ АТРИБУТ.

Я устанавливаю правильный токен в топоре ios

заголовки: {'RequestVerificationToken': xshrfToken, 'Content-Type': 'application / json; charset = utf-8;' }

поэтому мой вопрос заключается в том, что, если я изменяю имя веб-сайта на строчные, почему не выполняется запрос POST.

Есть какие-либо предложения?

1 Ответ

0 голосов
/ 12 марта 2020

Вы можете использовать топор ios перехватчик в качестве крючка:

axios.interceptors.request.use(function(response) {
    response.url = response.url.toLowerCase();
    return response;
});
...