0

我们的项目(网络应用程序C# ASP.NET MVC3)托管在上面IIS 7.5,我们使用证书身份验证。所以我们配置了 SSL-require IIS

现在我们有一个业务任务允许一些用户使用我们的系统。并且没有办法为他们提供客户端证书。在这种情况下,我们需要使用一些额外的身份验证模型(基于用户密码或 ntdomain)。

我不知道如何实现这样的模型:

  1. 用户访问我们的项目 url;
  2. 如果他有有效的客户证书——我们让他迭代我们的应用程序;
  3. 如果他没有证书,我们会向他展示一个带有“用户密码”的登录表单;

如果我们使用需要 SSL 的配置IIS用户将无法在没有有效证书的情况下与应用程序进行迭代,对吗?如果IIS配置了 SSL-Accept,如何使用证书进行身份验证?

4

2 回答 2

0

也许您可以在 IIS 上配置两个站点?一个有 SSL,另一个没有?您的 url 将指向启用 SSL 的站点,当没有有效证书的用户到达时,您使用一些备用代码将他发送到 SSL 免费站点?

实际上只是猜测......我认为这可能值得一个更深思熟虑的答案......

于 2012-09-17T13:10:04.353 回答
0

问题并没有我之前想的那么大。即使组合框(在 Web 应用程序的 SSL 选项中)设置为接受而不是要求,IIS 也提供了一个要求证书的复选框。在这种情况下,IIS 首先尝试获取证书。如果没有证书,它可以让用户与应用程序进行迭代。我们可以在该级别上进行自定义身份验证。

使用 MVC (v.3+),在这种情况下使用 IAuthorizationFilter 有很好的方法

于 2012-10-04T07:20:55.723 回答