2016-08-03 207 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重写?

回答