转载:http://os.51cto.com/art/201005/202380.htm

作为微软最经典的Web服务之一的IIS服务有大致上五种Web身份认证方法。身份认证时保障IIS服务安全的根本,所以熟练并且灵活的掌握IIS服务身份认证方法是十分重要的。

【51CTO独家特稿】微软IIS服务是一项经典的Web服务,可以为广大用户提供信息发布和资源共享功能。身份认证是保证IIS服务安全的基础机制,IIS支持以下5种 Web 身份认证方法:

推荐专题:IIS服务“讲武堂”

一、匿名身份认证

如果启用了匿名访问,访问站点时,不要求提供经过身份认证的用户凭据。当需要让大家公开访问那些没有安全要求的信息时,使用此选项最合适。IIS 创建 IUSR_ComputerName 帐户(其中 ComputerName 是正在运行 IIS服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份认证。此帐户授予用户本地登录权限。用户可以将匿名用户访问重置为使用任何有效的 Windows 帐户。用户可以为不同的网站、虚拟目录、物理目录和文件建立不同的匿名帐户。如果基于 Windows Server 2003 的计算机是独立服务器,则 IUSR_ComputerName 帐户位于本地服务器上。如果该服务器是域控制器,则 IUSR_ComputerName 帐户是针对该域定义的。

二、基本身份认证(Basic)

使用基本身份认证可限制对 NTFS 格式的 Web 服务器上文件的访问。使用基本身份认证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。要使用基本身份认证,请授予每个用户进行本地登录的权限,为了使管理更加容易,请将每个用户都添加到可以访问所需文件的组中。因为用户凭据是使用 Base64 编码技术编码的,但它们在通过网络传输时不经过加密,所以基本身份认证被认为是一种不安全的身份认证方式。

三、Windows 集成身份认证

Windows 集成身份认证比基本身份认证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成 Windows 身份认证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果此尝试失败,就会提示该用户输入用户名和密码。如果用户使用集成 Windows 身份认证,则用户的密码将不传送到服务器。如果用户作为域用户登录到本地计算机,则此用户在访问该域中的网络计算机时不必再次进行身份认证。集成身份认证以前称为 NTLM 或 Windows NT 质询/响应身份认证,此方法以 Kerberos 票证的形式通过网络向用户发送身份认证信息,并提供较高的安全级别。Windows 集成身份认证使用 Kerberos 版本 5 和 NTLM 身份认证。注意:如果选择了多个身份认证选项,IIS服务 会首先尝试协商最安全的方法,然后它按可用身份认证协议的列表向下逐个试用其他协议,直到找到客户端和服务器都支持的某种共有的身份认证协议。

四、摘要式身份认证

摘要式身份认证需要用户 ID 和密码,可提供中等的安全级别,如果用户要允许从公共网络访问安全信息,则可以使用这种方法。这种方法与基本身份认证提供的功能相同。摘要式身份认证克服了基本身份认证的许多缺点。在使用摘要式身份认证时,密码不是以明文形式发送的。另外,用户可以通过代理服务器使用摘要式身份认证。摘要式身份认证使用一种质询/响应机制(集成 Windows 身份认证使用的机制),其中的密码是以加密形式发送的。

要使用摘要式身份认证,必须满足下述要求:

用户和 IIS 服务器必须是同一个域的成员或被同一个域信任。

用户必须有一个存储在域控制器上 Active Directory 中的有效 Windows 用户帐户。

该域必须使用 Microsoft Windows 2000 或更高版本的域控制器。

必须将 IISSuba.dll 文件安装到域控制器上。此文件会在 Windows 2000 或 Windows Server 2003 的安装过程中自动复制。

必须将所有用户帐户配置为选择“使用可逆的加密保存密码”帐户选项。要选择此帐户选项,必须重置或重新输入密码。

五、Microsoft .NET Passport 身份认证

.NET Passport 身份认证提供了单一登录安全性,为用户提供对 Internet 上各种服务的访问权限。如果选择此选项,对 IIS服务 的请求必须在查询字符串或 Cookie 中包含有效的 .NET Passport 凭据。如果 IIS服务 不检测 .NET Passport 凭据,请求就会被重定向到 .NET Passport 登录页。并且,如果选择此选项,所有其他身份认证方法都将不可用。

IIS服务中五种身份验证的更多相关文章

  1. IIS服务中五种身份验证的灵活运用

    微软IIS服务是一项经典的Web服务,可以为广大用户提供信息发布和资源共享功能.身份认证是保证IIS服务安全的基础机制,IIS支持以下5种 Web 身份认证方法: 一.匿名身份认证 如果启用了匿名访问 ...

  2. asp.net中常用的几种身份验证方式

    转载:http://www.cnblogs.com/dinglang/archive/2012/06/03/2532664.html   前言 在B/S系统开发中,经常需要使用"身份验证&q ...

  3. ASP.NET Web API Basic Identity 中的基本身份验证

    缺点 用户凭证在请求中发送. 凭据作为明文发送. 每个请求都会发送凭据. 无法注销,除非结束浏览器会话. 易于跨站点请求伪造(CSRF); 需要反CSRF措施. 优点 互联网标准. 受所有主要浏览器支 ...

  4. window10家庭版解决IIS中万维网服务的安全性中无Windows身份验证

    首先在左下角输入cmd搜索->命令提示符->以管理员身份运行->然后复制下面一段命令: dism /online /norestart /add-package:%SystemRoo ...

  5. ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法

    This step-by-step article demonstrates how an ASP.NET   application can use Forms authentication to ...

  6. ASP.NET中WebService的两种身份验证方法

    一.通过SOAP Header身份验证 此方法是通过设置SOAP Header信息来验证身份,主要通过以下几步: 1.在服务端实现一个SOAP Header类 public class Credent ...

  7. asp.net core中使用cookie身份验证

    配置 在 Startup.ConfigureServices 方法中,创建具有 AddAuthentication 和 AddCookie 方法的身份验证中间件服务: services.AddAuth ...

  8. C#中五种访问修饰符作用范围 public、private、protected、internal、protected internal

    1.五种访问修饰符包括哪些? public.private.protected.internal.protected internal 2.五种访问修饰符的作用范围? public  :公有访问.不受 ...

  9. Java中五种遍历HashMap的方式

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Java8Templat ...

随机推荐

  1. set,list,map分析

    想了下集合,列表,映射三者关系 set,list,map ArrayList采用数组方式存储数据,继承List; LinkedList采用链表方式存储数据,继承List; 所以数组方式都有下表,以及每 ...

  2. opencv(0)安装与配置

    1.windows下 1.1 exe安装 windows下可以安装opencv的exe版本,已经编译好了,很省事. 到https://opencv.org/releases.html下载需要的open ...

  3. Codeforces 580D Kefa and Dishes(状态压缩DP)

    题目链接:http://codeforces.com/problemset/problem/580/D 题目大意:有n盘菜每个菜都有一个满意度,k个规则,每个规则由x y c组成,表示如果再y之前吃x ...

  4. [新手]在macOS环境下安装xdebug

    使用环境 masOS 10.12 使用MAMP安装的PHP环境   在新安装的系统中,安装xdebug,遇到了一些小问题;   P.S. 重新按照xdebug官网的指南安装了一次,把上次安装失败的xd ...

  5. ld 脚本浅析-LD手册粗糙翻译

    本文乃转载, 我在其基础上做了少量修改. 原作者的E-mail是zhanglei@sict.ac.cn. 完成于2005.11.5-2005.11.8 0. Contents 1. 概论2. 基本概念 ...

  6. nsis安装包_示例脚本语法解析

    以下是代码及解析,其中有底色的部分为脚本内容. 注释.!define.变量.!include.常量 ; Script generated by the HM NIS Edit Script Wizar ...

  7. 使用ngx_lua构建高并发应用

    http://blog.csdn.net/chosen0ne/article/details/7304192

  8. Gitlab Issue Tracker and Wiki(一)

    本节内容: 创建第一个问题 创建第一个合并请求 接受合并请求 工作里程碑 在提交中引用问题 创建维基百科页 使用Gollum管理维基百科 一. 创建问题 1. 登陆Gitlab服务器 2. 切换到想要 ...

  9. My blog in AI ---神经网络,网络架构

    上一篇博文中,我们介绍了神经网络中的神经元,那么该如何组织起来这些神经元,才能发挥出最好的效果去解决现实中的问题呢? 这是一个复杂的问题,在工程中,神经网络的架构也是训练的也是一种超参数,本节先在理论 ...

  10. ServletConfig对象和ServletContext对象

    (1)ServletConfig:用来保存一个Servlet的配置信息的(比如 : name, class, url ... ) 这些配置信息没什么大用处,我们还可以在ServletConfig中保存 ...