Url rewriting 使用ws-federation站点和IIS url重写规则时的无限重定向循环

Url rewriting 使用ws-federation站点和IIS url重写规则时的无限重定向循环,url-rewriting,iis-8,ws-federation,Url Rewriting,Iis 8,Ws Federation,当使用不正确的浏览器时,我无法在ws-federation驱动的站点上创建重定向用户的规则:导致无限循环。。。“Chrome”现在是为了简单起见,实际上我将针对IE不到9进行测试 <rule name="UserAgentCheck" stopProcessing="true"> <match url=".*" ignoreCase="true" /> <conditions logicalGrouping="MatchAll" trackA

当使用不正确的浏览器时,我无法在ws-federation驱动的站点上创建重定向用户的规则:导致无限循环。。。“Chrome”现在是为了简单起见,实际上我将针对IE不到9进行测试

<rule name="UserAgentCheck" stopProcessing="true">
    <match url=".*" ignoreCase="true" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{REQUEST_URI}" pattern="BrowserIsNotSupported" negate="true" />
            <add input="{QUERY_STRING}" pattern="BrowserIsNotSupported" negate="true" />
            <add input="{HTTP_USER_AGENT}" pattern="Chrome" />
        </conditions>
        <action type="Redirect" url="Isolate/BrowserIsNotSupported" appendQueryString="false" redirectType="Permanent" />
</rule>
变化不大。 1) 我已经从BrowserIsNotSupported方法中删除了“AllowAnonymous”属性:让他进行身份验证,然后显示带有消息的页面(没有菜单,没有任何内容-只有消息和到身份验证门户的链接) 2) 对站点的请求确实很重要,它们包含FedAuth cookie。 因此,我的问题的改进解决方案如下:

<rule name="UserAgentCheck" stopProcessing="true">
    <match url=".*" ignoreCase="true" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_URI}" pattern="BrowserIsNotSupported" negate="true" />
        <add input="{QUERY_STRING}" pattern="BrowserIsNotSupported" negate="true" />
        <add input="{HTTP_COOKIE}" pattern="FedAuth" />
        <add input="{HTTP_USER_AGENT}" pattern="MSIE 8.0|MSIE 7.0b|MSIE 7.0|MSIE 6.0b|MSIE 6.0|MSIE 5.5b1|MSIE 5.5|MSIE 5.0|MSIE 5.01|MSIE 4.0" />
    </conditions>
    <action type="Redirect" url="Isolate/BrowserIsNotSupported" appendQueryString="false" redirectType="Found" />
</rule>

现在Chrome和Firefox突然开始正常工作,但IE-不,它始终提供不受支持的页面,即使HTTP\u用户\u代理是Chrome或Firefox。。。
<rule name="UserAgentCheck" stopProcessing="true">
    <match url=".*" ignoreCase="true" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_URI}" pattern="BrowserIsNotSupported" negate="true" />
        <add input="{QUERY_STRING}" pattern="BrowserIsNotSupported" negate="true" />
        <add input="{HTTP_COOKIE}" pattern="FedAuth" />
        <add input="{HTTP_USER_AGENT}" pattern="MSIE 8.0|MSIE 7.0b|MSIE 7.0|MSIE 6.0b|MSIE 6.0|MSIE 5.5b1|MSIE 5.5|MSIE 5.0|MSIE 5.01|MSIE 4.0" />
    </conditions>
    <action type="Redirect" url="Isolate/BrowserIsNotSupported" appendQueryString="false" redirectType="Found" />
</rule>