【问题标题】:Active Directory Authentication using Client Certificate in ASP.NET MVC在 ASP.NET MVC 中使用客户端证书的 Active Directory 身份验证
【发布时间】:2013-08-27 17:50:54
【问题描述】:

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

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

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

感谢任何建议/方向。

【问题讨论】:

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


    【解决方案1】:

    这应该可以开箱即用,无需代码。

    首先,关闭网站的匿名访问和基本认证,打开集成windows认证和证书集成。

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

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

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

    从现在开始,当浏览器支持证书集成认证并且客户端机器在用户存储(IE)或浏览器存储(其他浏览器)中有证书时,浏览器将自动要求用户提取证书。

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

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

    【讨论】:

    • 这是我的问题,我无法在没有任何凭据提示的情况下对其进行身份验证。你知道任何设置吗?
    • 是的,我前段时间一直在努力解决这个问题:netpl.blogspot.com/2012/06/…
    • 是的,这个设置是正确的。我过去曾在同一域中进行 Windows 身份验证。在我的情况下,我没有在同一个域中。那么如何识别客户端证书是否附加了任何Active Directory用户,我们是通过代码还是iis本身可以做到呢?
    • 据我记得,客户端证书要求意味着客户端计算机不必在域中。但我必须检查一下。域外电脑的唯一问题是您必须以某种方式导入用户证书,而证书会自动从连接到域的电脑中的 AD 下载到用户配置文件中。
    猜你喜欢
    • 2021-10-29
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 2011-04-09
    • 2013-10-07
    相关资源
    最近更新 更多