Назад | Перейти на главную страницу

Скандинавские символы перепутались в атрибутах заголовка Shibboleth SP

У меня есть Shibboleth SP 2.5 с Apache 2.4 перед сервером Domino 9.0.1 на Windows server 2008 R2.

Это начало входящего сообщения SAML из журнала отладки Shibboleth SP:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

А вот значение атрибута из того же журнала:

<saml:AttributeValue>Mäkelä Test</saml:AttributeValue>

Атрибуты передаются в Domino как заголовки HTTP. В форме домино я делаю @GetHTTPHeader("cn") чтобы получить значение этого атрибута, и я получаю

Mäkelä Test

В конфигурации Shibboleth SP я нигде не устанавливал набор символов и считаю, что он всегда должен быть UTF-8.

Конфигурация моего прокси-сервера Apache выглядит так:

ServerName my.test.fi:8443
UseCanonicalName On
ProxyPass / http://my.test.fi/

Я пробовал это:

ProxyHTMLMeta On
RequestHeader unset Accept-Encoding
AddDefaultCharset utf-8
CharsetSourceEnc  UTF-8
CharsetDefault    UTF-8

В документе веб-сайта домино у меня для параметра «Использовать UTF-8 для вывода» установлено значение «Да», а для набора символов формы установлено значение UTF-8. Заголовки ответа Domino включают следующее:

Content-Type:text/html; charset=UTF-8

На мой взгляд, персонажи уже перепутались, когда они приходят из Shibbolet SP / Apache в Domino. Любые идеи, как это исправить?

Решение - использовать XPage в Domino. Этот код серверного Javascript (SSJS) правильно возвращает скандинавские символы:

facesContext.getExternalContext().getRequestHeaderMap().get("cn");