首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS 7身份验证-仅允许智能卡登录证书

IIS 7身份验证-仅允许智能卡登录证书
EN

Stack Overflow用户
提问于 2015-04-19 19:38:37
回答 1查看 339关注 0票数 0

我在一个组织工作,允许其打开应用程序的用户必须使用智能卡登录。

只要有用户加入(几乎每天),我们就会为该用户开发新的智能卡。

我的问题是,通过一些配置更改,用户可以不使用智能卡登录,只需使用自己的windows证书即可。

实现该目标的最佳身份验证方式是什么?

IIS 7中是否内置了只允许访问包含智能卡登录的证书的方法?

该应用程序是用C#开发的。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-04-19 19:47:34

您可以从证书中读取增强型密钥用法,并检查您正在进行身份验证的证书是否为智能卡。通常,非智能卡的增强型密钥用法是客户端身份验证,智能卡的增强型密钥用法是客户端身份验证+智能卡登录;以下是我上周编写的示例代码,以实现与您的需求类似的功能:

代码语言:javascript
复制
var validCertsAssignedToUserOrderBySmartCardValidFromDate = from cert in validCertsAssignedToUser
                                                                        from ext in cert.Extensions.OfType<X509EnhancedKeyUsageExtension>()
                                                                        from usage in ext.EnhancedKeyUsages.OfType<Oid>()
                                                                        let isSmartCard = (ext.Oid.FriendlyName == "Enhanced Key Usage" && usage.FriendlyName == "Smart Card Logon") ? 0 : 1
                                                                        orderby isSmartCard
                                                                            , cert.NotBefore descending
                                                                        select cert;

就IIS7内置方式而言,我不知道有什么内置方式,但我认为以编程方式实现并不困难

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29729348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档