使用ASP.NET MVC中的客户端证书进行Active Directory身份验证

时间:2013-08-27 17:50:54

标签: c# asp.net asp.net-mvc ssl iis-7

我正在开发一个项目,我们必须在服务器上部署两个不同的应用程序,一个是Cognos网站,另一个是.NET网站。

现在,当请求来到Web服务器(IIS)时,它应该要求客户端证书选择,一旦您选择了客户端证书,它应该返回并检查它与任何Active Directory用户的连接位置。

基本上我想使用.NET实现使用Active Directory和客户端证书的身份验证。

感谢任何建议/方向。

1 个答案:

答案 0 :(得分:0)

这应该是开箱即用的,没有代码。

首先,关闭网站的匿名访问和基本身份验证,然后启用集成的Windows身份验证和证书集成。

然后,在您的asp.net应用程序中,将auth模式设置为windows。

然后,为网站启用SSL并选中“需要客户端证书”选项。

http://technet.microsoft.com/pl-pl/library/cc753983%28v=ws.10%29.aspx

从现在开始,当浏览器支持证书集成身份验证并且客户端计算机在用户存储(IE)或浏览器存储(其他浏览器)中具有证书时,浏览器将自动要求用户选择证书。

我的建议是从SSL上的集成Windows身份验证开始,但不带证书(不要选中“需要客户端证书”)。使用IE进行测试并配置IIS,直到您的用户自动进行身份验证,而不会提示输入凭据。

这是最麻烦的部分。如果你有它工作,你只需打开客户证书的要求。