【发布时间】:2011-08-22 20:43:47
【问题描述】:
我已经找到了完成这项工作所需的一些零碎东西,但无法将所有内容整合到一个可行的解决方案中。
我在一个 Intranet 站点上工作,并且希望*仅使用 https 保护我的帐户控制器上的登录和注销操作。我已正确安装证书,并且可以使用 UrlRewrite 规则成功地将流量重定向到这些控制器操作到 https:
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="^account/logon$|^account/logoff$" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
但是,现在,我还想将站点的所有其余请求(除了两个操作的流量)重定向回 http。我对讨论这种方法的优点不感兴趣,因为我有我认为想要从 https 重定向回 http 的正当理由。
我已经尝试在 Actions 中编写一些代码来实现这一点,但我遇到了重大问题。我不知道是不是因为我正在使用两台负载平衡的服务器或其他原因,但我尝试的任何操作都会给我一个“重定向太多”的错误消息。
那么,两个问题:
- 使用 UrlRewrite 规则从 https 或控制器操作重定向出更好吗?
- 有没有人有一个有效的代码示例或至少可以让我走上正确道路的东西?
非常感谢任何帮助!
【问题讨论】:
标签: asp.net-mvc iis-7.5 url-rewriting