设为首页 收藏本站
查看: 668|回复: 0

[经验分享] IIS中的身份验证

[复制链接]

尚未签到

发表于 2015-8-15 11:49:07 | 显示全部楼层 |阅读模式
  本文摘自MSDN:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vsent7/html/vxconiisauthentication.asp  
  身份验证与凭据
  许多分布式应用程序的重要部分是标识某个人(称为主体或客户端)并控制客户端对资源的访问能力。身份验证是验证客户端身份的行为。一般情况下,客户端必须提供某些证据,一般称为凭据,来证明其身份。通常,凭据包括用户名和密码对。Internet 信息服务 (IIS) 和 ASP.NET 都提供几种身份验证方案。  
  匿名
  匿名身份验证可使用户访问 Web 站点的公共区域,不提示用户输入用户名和密码。IIS 使用特定用户帐户 (IUSR_machinename) 将存储好的凭据提供给 Windows。默认情况下,IIS 控制此帐户的密码。IIS 是否控制该密码会影响匿名用户的权限。
  优点

  • 提供最佳性能,这是因为匿名身份验证不需要任何系统开销。
  • 不需要管理个人用户帐户。
  • 如果 IIS 不控制密码,可以访问网络资源。
  缺点
  不能逐个对客户端进行身份验证。

  • 如果 IIS 不控制密码,帐户必须有本地登录能力。
  • ASP.NET Web.Config
  • 使用 Web.config 文件配置 ASP.NET,指定无身份验证或 Windows 身份验证。
  集成 Windows 身份验证
  集成 Windows 身份验证可以使用 NTLM 或 Kerberos V5 身份验证,当 Internet Explorer 试图访问受保护的资源时,IIS 发送两个 WWW 身份验证头,Negotiate 和 NTLM。如果 Internet Explorer 不能识别 Negotiate,它将使用 NTLM。 因此,所使用的机制由 Internet Explorer 与 IIS 之间的协商来决定。
  集成 Windows 身份验证是 Intranet 环境中最好的身份验证方案,在这种用户拥有 Windows 域帐户,尤其是在使用 Kerberos 的时候。集成 Windows 身份验证与简要身份验证一样,不在网络上传递用户密码,而是交换哈希值。
  优点

  • 可与 Kerberos 一起使用,启用对安全凭据的委托。
  • 使用 Windows 的 Intranet 环境的最佳方案。
  缺点

  • 不能通过代理穿过防火墙验证身份,除非通过 PPTP 连接使用它。
  • 如果选择了 NTLM,则它不支持对其他服务器的委托。
  • 仅 Internet Explorer 2.0 及更高版本支持它。
  • 仅 IIS 5.0 和更高版本支持 Kerberos。
  基本
  IIS 实现基本身份验证,基本身份验证是 HTTP 1.0 规范的一部分,它使用 Windows 用户帐户。当使用基本身份验证时,浏览器提示用户输入用户名和密码。然后此信息通过 HTTP 传递,在 HTTP 上使用 Base64 编码方式将其编码。基本身份验证还是有固有的不安全性。由于解码 Base64 编码数据很容易,因此基本身份验证实质上就是将密码作为纯文本发送。默认情况下,基本身份验证要求 Windows 用户帐户具有 Web 服务器本地登录权限。
  优点

  • 由于它是 HTTP 1.0 规范的一部分,基本身份验证是得到最广泛支持的用户身份验证方案。
  • 可以通过代理服务器验证身份。
  • 可以跟踪个人用户。
  • 如果用户帐户有 Web 服务器的本地登录权限,则可以访问网络资源。
  • 可与 Kerberos 一起使用,启用对安全凭据的委托。
  缺点

  • 若不使用 SSL/TLS,本身具有不安全性。但 SSL/TLS 会影响性能。
  • 要求为每个用户创建个人 Windows 帐户。
  摘要式
  简要身份验证克服了基本身份验证的主要弱点:以纯文本形式发送密码。简要身份验证是一种质询/响应机制,它在网上发送简要(又称为哈希)而非密码。当客户端试图访问要求简要身份验证的资源时,IIS 向该客户端发送一个质询,要求它创建一个简要并将其发送到服务器。客户端连接服务器和客户端都知道的密码和数据。然后客户端将一个简要算法(由服务器指定)应用到该组合数据。客户端将获得的简要发送到服务器作为对质询的响应。服务器利用从 Active Directory 获得的客户端密码副本,使用与客户端相同的过程创建简要。在 Active Directory 中使用可逆加密方法保存密码。如果服务器创建的简要与客户端创建的简要相匹配,则 IIS 验证该客户端的身份。
  优点

  • 在网络上发送简要,而非密码。
  • 与代理服务器和防火墙一起使用。
  • 不因保护密码而要求使用 SSL/TLS。
  缺点

  • 不能委托安全凭据。
  • 仅 Internet Explorer 5.0 及更高版本支持它。
  • 受制于重放攻击,除非使用 SSL/TLS。
  • 要求使用可逆加密方法在明文中储存密码。
  • 要求为 Active Directory 中的每个用户创建域帐户。
  以上几种身份验证方式对应的ASP.NET Web.Config为

1 <system.web>
2    <authentication mode="Windows" />
3 </system.web>4

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99326-1-1.html 上篇帖子: Net中如何操作IIS(转) 下篇帖子: IIS伪静态方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表