Правило перезаписи IIS для базовой аутентификации в строке запроса

Я пытаюсь автоматически регистрировать пользователей для установки 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?://(.+)&amp;?_username=(.+)&amp;_password=(.+)" />
   <action type="Rewrite" url="http://{R:2}:{R:3}@xwiki.example.org/{R:1}" />
</rule>

Когда я иду «Тестовый шаблон» в IIS и указываю свой URL-адрес, все обратные ссылки ({R: x}) совпадают с данными, которые я хочу. Однако, когда я посещаю t URL в моем браузере, правило перезаписи не срабатывает.

Можно ли каким-либо образом добиться желаемого поведения?

5
задан Erin Drummond 28 February 2012 в 20:07
поделиться