2016-08-03 101 views
0

使用URL重寫模塊,我想開車基於中自定義的認證進程中提取一定的價值重寫。URL重寫重定向導致

在PostAuthenticateRequest過程中,我嘗試設置HTTP標頭,其中HttpContext.Current.Request.Headers.Add("name", "value");在請求對象離開HTTPModule之前可見。

然而,在URL重寫,因爲有在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重寫?

回答