我们的项目(网络应用程序C# ASP.NET MVC3
)托管在IIS 7.5
上,我们使用证书身份验证。所以我们已经配置了SSL-require IIS
。
现在我们有一项业务任务,允许一些用户使用我们的系统。并且无法为他们提供客户端证书。在这种情况下,我们需要使用一些额外的身份验证模型(用户密码或基于ntdomain)。
我不知道如何实现这样的模式:
如果我们使用SSL所需的已配置IIS
用户将无法在没有有效证书的情况下与应用程序进行迭代?如果使用SSL-Accept配置IIS
,如何使用证书进行身份验证?
答案 0 :(得分:0)
也许您可以在IIS上配置两个站点?一个用SSL而另一个没有它?您的网址将指向启用SSL的网站,当没有有效证书的用户到达时,您使用一些备用代码将他发送到SSL免费网站?
实际上只是猜测......我认为这可能值得一个更有冥想的答案......
答案 1 :(得分:0)
这个问题没有我想象的那么大。 IIS提供了一个复选框以要求证书,即使组合框(在Web应用程序的SSL选项中)设置为Accept而不是require。在这种情况下,IIS首先尝试获取证书。如果没有证书,它允许用户使用应用程序进行迭代。我们可以在该级别进行自定义身份验证。
使用MVC(v.3 +),在这种情况下使用IAuthorizationFilter的方法很好