IIS提供了多种对用户的验证方式,除了不需要对用户验证的匿名方式外,还有四种其他方式可供使用,各种方式及其特点如下。
1.匿名验证
匿名验证方式是指访问Web资源的用户不需要输入用户名和密码,这种方式适用于公共Web站点,任何人都能访问站点资源。但是,此种方式不适于有保密要求的网站。
2.Windows NT请求/响应
Windows NT请求/响应方式使用NT的用户账户,在网络上不直接传输用户名、密码等原始登录信息。如果希望保护用户名和密码,这种方式比较有效。另外,由于这种方式使用单独的用户账户,所以可以更灵活地设置用户的访问权限。请求/响应验证的不足之处在于不能应用于代理服务器或防火墙程序。
3.基本验证
基本验证通过Base64编码在网络中传输用户名和密码。由于有现成的Base64编码的解码程序,所以在Internet上解释这些数据非常容易。基本验证简单易行,在Internet上被广泛使用,绝大多数浏览器都支持基本验证。基本验证方法的不足在于,用户无法确认是否将密码发往一个正确的服务器。也就是说,使用基本验证时,没有服务器身份的验证。此外,网络黑客可以编写程序,通过基本验证的登录对话框获取用户登录信息。因此,这种方式不宜用于安全性要求较高的服务器系统。
4.客户证书映射
证书是一个特殊的文本文件,它通常包含有惟一标识证书所有者的名称、惟一标识证书发布者的名称、证书所有者的公共密钥、证书发布者的数字签名、证书的有效期和序列号等。证书发布者一般称为证书管理机构(CA),是通信各方都信赖的机构。证书能起到标识通信双方的作用,是目前广泛采用的技术之一。
客户证书是访问Web站点的用户的证书,是用户的数字标识。用户需要向CA请求这个证书,可以配置US忽略、接受或需要客户证书。
(1)忽略证书:如果用户在请求中发送了证书,IIS将忽略它。US仅使用其他方法验证用户,如Windows NT请求/响应。
(2)接收证书:如果用户发送了客户证书,IS将使用证书验证用户。如果用户未发送证书,IIS则使用其他验证方法。
(3)需要证书:IIS将只满足发送了证书的用户请求。IIS客户证书映射将客户证书信息与Windows NT用户账户进行映射,这种形式的验证安全、灵活。绝大多数浏览器都支持客户证书。