ASP.NET在CAC登录后进行身份验证

时间:2015-08-31 18:51:56

标签: asp.net asp.net-mvc authentication single-sign-on cac

我希望我只是错过了一步,有人可以指出我正确的方向。用户拥有CAC,可通过IIS使用其PIN进行身份验证。一旦输入,我需要在网站上验证用户,而无需输入用户名或密码。我不能使用有效的目录认证。我现在正在假设表单身份验证。

假设登录的用户已注册,并且他们的信息以及允许的角色位于数据库中(我可以根据CAC上客户端证书中的信息查找)... ...我需要实现/阅读以在网站上验证所述用户吗?

提前感谢您的建议/信息。

BrianW

1 个答案:

答案 0 :(得分:0)

首先查看从证书本身提取数据。如果从电子邮件证书中提取,则可以提取UserPrincipalName,这对于您的潜在用户群几乎完全不可变,并且即使用户名称发生更改,也可以锁定用户。如果要使用“普通”身份证书,则需要从CN属性中提取10位数字(EDIPI),然后该属性将是不可变的。您可以使用CN来开始,但要注意它不是不可变的,名称更改将导致它在后续卡上被修改,而EDIPI将保持不变[再次,99.9 +%的用例;只有当某人被错误地发出第二张牌/身份时才会失败,而这种情况很少见。