如何在 IIS 8.0 上将证书身份验证限制为特定用户?

如何在 IIS 8.0 上将证书身份验证限制为特定用户?

我在 Windows Server 2012 机器上使用 IIS 8.0。这不是加入域的机器,因此我无法使用 Active Directory。

我已成功配置证书身份验证。访问网站时,系统会向用户显示一个证书列表以供选择,服务器上的证书信任列表 (CTL) 包含其信任的中间 CA 和根 CA。

我的问题是:如何限制只有特定用户才能成功进行身份验证?例如,如果我们有五个用户的证书由同一个 CA 颁发,但我仍然希望仅将站点的访问权限限制为五个人中的三个。它可以是基于 X.509 证书中任何唯一标识符的访问列表(例如电子邮件、密钥 ID、指纹)

我不确定如何实现此行为。我发现了这一点,但我不确定这是否是正确的道路……:http://www.iis.net/configreference/system.webserver/security/authentication/iisclientcertificatemappingauthentication

有人能给我指出正确的方向吗?

答案1

您从错误的方向思考这个问题。证书身份验证是用户名/密码或 AD 身份验证的替代或增强。当用户连接到您的站点并出示证书时,该用户将以证书映射到的用户身份登录。

因此,如果您希望有 3 个用户能够使用您的网站,那么您的 Web 应用程序必须做出决定(就像它使用用户名/密码验证一样),或者您可以创建一个 AD 组并将这 3 个人放入其中并设置文件夹的安全性以仅允许该组。

相关内容