Я пытаюсь автоматически регистрировать пользователей для установки Xwiki через базовую аутентификацию. Это связано с тем, что справка хранится в вики, но мы хотим, чтобы процесс поиска был прозрачным для пользователя.
Мы отправляем пользователя на URL-адрес (с помощью тега ), например:
(скрыто)
Это прекрасно работает во всех браузерах, кроме Internet Explorer (см.: http://support.microsoft.com/kb/834489
. К сожалению, 80% нашей пользовательской базы использует Internet Explorer, и они не могут вводить учетные данные вручную.
В настоящее время у нас есть IIS 7.5, установленный перед Xwiki и проксирующий все запросы к экземпляру Tomcat на другом сервере. Это работает нормально. проблема, я подумал, что могу использовать правило перезаписи IIS, чтобы превратить URL-адрес, подобный этому:
http://xwiki.example.org/xwiki/bin/view/Main?basicauth=1&_username=username&_password=password
в это:
(скрыто)
Идея заключалась в том, что IIS заменит параметры строки запроса _username/_password в URL и передаст их Tomcat, а Xwiki проигнорирует дополнительные параметры
Я создал URL переписать правило, например:
<rule name="BasicAuthRewrite" enabled="true">
<match url="https?://(.+)&?_username=(.+)&_password=(.+)" />
<action type="Rewrite" url="http://{R:2}:{R:3}@xwiki.example.org/{R:1}" />
</rule>
Когда я иду «Тестовый шаблон» в IIS и указываю свой URL-адрес, все обратные ссылки ({R: x}) совпадают с данными, которые я хочу. Однако, когда я посещаю t URL в моем браузере, правило перезаписи не срабатывает.
Можно ли каким-либо образом добиться желаемого поведения?