代码之家  ›  专栏  ›  技术社区  ›  lance

是否需要适用于目录服务映射(Active Directory)的客户端证书?

  •  2
  • lance  · 技术社区  · 15 年前

    My MOSS 2007实例(IIS 6)使用Windows身份验证和IIS的目录服务映射(针对Active Directory),允许用户仅使用其智能卡客户端证书进行身份验证,而不使用任何用户名/密码,并且无论客户端工作站加入到哪个域(如果有)。IIS实例设置为需要客户端证书。

    我的理解是,IIS要(在Active Directory中)找到与客户端证书关联的帐户,必须能够从中读取“用户原则名称”(有时称为“用户登录名称”)。

    我用户的智能卡有两个由同一根CA颁发的客户端证书。其中一个指定UPN。另一个没有。当访问站点时,她可以从任一证书中进行选择。如果她选择没有UPN的证书,身份验证肯定会失败。

    如何使浏览器的“证书选择”对话框显示 机会 与帐户匹配的方法(同样是:DSM&AD)?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Ryan Michela    14 年前

    我认为你无法改变这一点。我相信证书选择屏幕是Internet Explorer的一部分。

    如果用户选择的证书没有关联UPN,则可以提示用户选择其他证书并重试。

    编辑:由于使用MOSS安全框架可能很困难,因此您可以将其实现为HTTPHandler,并将其添加到MOSS根web.config中。

    当用户请求进入时,处理程序获得第一个DIB,如果证书中缺少UPN,则可以重定向到“重试”页面。

    “重试”页面必须打开另一个窗口重试请求,以获得另一个证书提示。

        2
  •  1
  •   Brett Peirce    14 年前

    • 如果您可以依赖用户的浏览器 是Internet Explorer 6 SP1或 更新的
    • 如果你能假设
    • 如果你同意清除所有 所有需要身份验证的站点

    • 然后你就可以实现 document.execCommand('ClearAuthenticationCache') javascript代码。broswer应该通过清除身份验证缓存(所有缓存的用户名和密码、所有缓存的客户端证书等)来执行此代码。

    如果用户不运行脚本或正在运行IE以外的其他东西,则(据我所知)不会运行。请记住,所有其他选项卡(以及同一进程中的窗口)共享身份验证缓存。如果页面/站点需要身份验证,则此命令将要求用户重新身份验证,但至少在关闭所有浏览器窗口后,用户不必再次导航到该页面/站点。。。

    玩得高兴

    注意:它不应影响存储的用户名/密码组合,也不应影响智能卡缓存的任何PIN码,但很可能需要用户按“确定”提交用户名/密码,或再次选择特定证书。