我有一个IIS7托管的asp .Net应用程序(用c#编写)。
某些应用程序URL需要使用客户端证书进行访问,有些应该在没有它的情况下访问。
这不是This SA question的副本,因为将应用程序设置为“接受所有URL的客户端证书”会导致某些浏览器(Android)向用户显示一个对话框来选择客户端证书,即使它这些特定网址实际上并不需要。
所以我需要2套网址(简单来说就是2个网址) - 一个是IIS 需要一个SSL证书,一个网址不要求证书。
有没有办法在IIS中实现这一点,还是我必须将我的应用程序拆分为2?
答案 0 :(得分:0)
在MVC中,您可以添加一个属性,例如:
[RequireHttps]
public ActionResult PageOne() {
return this.View();
}
public ActionResult PageTwo() {
return this.View(); }
第一个需要SSL,第二个不需要。
在WebForms中,您可以创建一个httpModule来检查ApplicationBeginRequest方法中的url,并在需要时重定向到SSL页面,但这需要逐页进行。
我认为你不能在IIS中这样做。希望这能指出你正确的方向。
答案 1 :(得分:0)
最终通过
解决了这个问题