Используя модуль Url Rewrite, я хочу использовать переписывание на основе некоторого значения, полученного во время пользовательского процесса аутентификации.URL перенаправление переназначения на основе результатов PostAuthenticate
Во время PostAuthenticateRequest я пытаюсь установить HTTP-заголовок с HttpContext.Current.Request.Headers.Add("name", "value");
, который виден на объекте запроса, прежде чем он покинет HTTPModule.
Однако в URL Rewrite возникает очень простое условие, поскольку текст под HTTP_name отсутствует.
<rule name="customrule" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_name}" pattern=".+" /> <!-- doesn't work -->
<!-- <add input="{HTTP_name}" pattern=".*" /> works -->
</conditions>
<action type="Rewrite" url="https://someotherdomain/{R:0}" />
</rule>
Изменение рисунка на состоянии к. * Позволяет правилу пропуск, но URL выходит как https:///{R:0}
. Если я вручную добавлю name
Заголовок до, запрашивающий ресурс с сервера, он может найти данные. К сожалению, у меня нет данных о том, пока запрос не будет сделан.
Могу ли я использовать заголовки через модули IIS? Как я могу получить значение из PostAuthenticate в URL Rewrite?