我们的项目(Web应用程序C# ASP.NET MVC3 )托管在IIS 7.5 ,我们使用证书身份验证。 因此,我们需要SSL-require配置IIS

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

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

  1. 用户进入我们的项目网址;
  2. 如果他有有效的客户证书-我们让他在我们的申请中进行修改;
  3. 如果他没有证书,我们向他显示带有“用户密码”的登录表单;

如果我们使用需要SSL的已配置IIS用户,就无法在没有有效证书的情况下对应用程序进行遍历? 如果使用SSL-Accept配置IIS ,如何使用证书进行身份验证?

#1楼 票数:0

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

只是猜测而已...我认为这可能值得一个更沉思的答案...

#2楼 票数:0 已采纳

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

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

  ask by Grigory translate from so

未解决问题?本站智能推荐:

7回复

Windows身份验证在IIS7.5中不起作用

我在使用Windows 7.5进行身份验证时遇到问题。 该应用程序是在asp.net MVC 3中构建的内部站点。应用程序池使用特定的域用户,并且该站点使用Windows身份验证。 每次我尝试启动该网站IE提示我登录。 如果我取消了足够的网站出现,搞砸了看,但它的我的名字与我的Windo
1回复

IIS7.5Windows+匿名身份验证间歇性地工作

我有一个MVC 3网站,其中某些控制器/操作需要Windows身份验证,而其他则不需要,即是匿名的。 该网站可以正常运行一会儿,我可以访问匿名操作和经过身份验证的操作(没有提示,凭据会在Chrome / IE / FireFox中自动传递),但是身份验证就停止了,我开始收到提示输入从未使用过
1回复

使用IIS7.5将MVC应用程序映射到子域

我不确定构建IIS环境和MVC4应用程序的最佳方法。 我在www.mydomain.com上有我的标准营销网站。 这是一个mvc4站点。 我创建了第二个mvc4应用程序,希望用户能够通过www.theircompanyname.mydomain.com进行访问 我不想对任何子域进行
2回复

使用cruisecontrol.net自动将asp.netmvc部署到文件共享

我一直在努力自动部署我的asp.net mvc应用程序。 关于这一点我发现了一些关于SO的问题,但没有一个答案对我有帮助。 我的要求如下: 不要使用NAnt。 不编辑.sln文件。 我也想为我的开发盒使用相同的文件。 部署到文件共享 应该应用web.config转
1回复

Windows身份验证使用角色进行CRUD限制

我是一名在与SharePoint有一些共同点的网站上工作的学生。 我使用ASP.NET MVC 3创建一个Intranet站点,以便可以通过Active Directory对人员进行身份验证。 我在执行这些要求时遇到了麻烦: 用户可以定义角色(不是AD组),并将Active Direc
1回复

我的MVC网站的某些路径的IIS基本身份验证

我想使用基本auth保护ASP.NET MVC4(C#)网站的页面之一。 我可以在IIS 7.5上执行该操作吗?
3回复

如何阻止用户在MVC3应用程序上登录/注册和其他非认证页面?

一旦用户登录到我使用表单身份验证的站点,如果他已经登录并注册,如何阻止用户进入登录和注册页面。
6回复

如何在IIS7.5上使用ASP.NET表单身份验证保护静态文件?

我有一个网站在共享主机上的ASP.NET 4.0的IIS 7.5服务器上运行,但是完全信任。 该站点是一个基本的“文件浏览器”,它允许访问者登录并显示可供他们使用的文件列表,当然,也可以下载文件。 静态文件(大多数为pdf文件)位于网站上名为data的子文件夹中,例如http://exam