我们有一个运行在IIS中的ASP.NET Web应用程序,大约有200个用户,其中一些在我们的局域网内,另外一些在局域网外。 每个用户都有一个用户名和密码login。
除了这些证书之外,我们还希望为这个需求添加更多的安全性来访问这个Web应用程序:
用户只能从PC上访问该Web应用程序。 如果用户去其他地方和/或使用其他PC, 并且即使其凭证login是正确的 ,他/她也将无法访问该Web应用程序。
我们被告知,我们可以通过客户端证书部分满足这个要求。 如果客户端证书存储在用户的PC中,并且IISconfiguration为接受客户端证书,则只有具有客户端证书的PC才能连接到IIS。
但是,用户的个人电脑中存储的客户端证书能够以某种方式将用户的凭证login密码locking?
因为用户可以前往其他存储客户端证书的PC,并使用自己的凭证login访问Web应用程序。 我们希望使用户只能从其分配的PC访问networking应用程序,而不能从其他PC访问。
客户端证书是一件事:validation尝试访问应用程序的安全主体的身份。 在客户端证书的情况下,证书通常映射到用户帐户。
如果您希望根据帐户正在进行身份validation的位置(计算机名称和/或IP地址)来控制给定帐户的访问权限,则应用程序是进行此访问权限检查的最佳位置。
如果要阻止用户使用私钥导出证书并将其导入另一台计算机,则可以在导入证书时将私钥标记为不可导出。 这可能会提供一些威慑,但它只是graphics界面的一个限制,并且如果他们的证书已经存在于其他计算机上,或者正在使用允许证书在另一台计算机上可用的configuration文件types(漫游),那么不是一个合适的select。