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

一、匿名身份认证

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

二、基本身份认证

使用基本身份认证可限制对 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服务中五种身份验证

    转载:http://os.51cto.com/art/201005/202380.htm 作为微软最经典的Web服务之一的IIS服务有大致上五种Web身份认证方法.身份认证时保障IIS服务安全的根本, ...

  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. Building Vim from source(转)

    Compiling Vim from source is actually not that difficult. Here's what you should do: First, install ...

  2. Mysql报错......\xE6\x80\xBB\xE7\x9B\x91' for column...

    Mysql添加表中字符报错:Incorrect string value: '\xE6\x80\xBB\xE7\x9B\x91' for column 'postName' at row 1 原因:字 ...

  3. PHP-PHP5.3及以上版本中检查json格式的方法

    function is_json($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); } j ...

  4. php中对象是引用类型吗?

    这貌似是一个极其简单的问题,还用得着专门写一篇博文?各位看官,最初我也这么认为,但这的确蒙蔽了你那水灵灵的小眼睛,不妨看看什么是引用? $a = 10; $b = &$a; $b = 20; ...

  5. angularJS使用内置服务

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  6. 兼容placeholder

    众所周知.IE9以下不兼容placeholder属性,因此自己定义了一个jQuery插件placeHolder.js.以下为placeHolder.js的代码: /** * 该控件兼容IE9下面,专门 ...

  7. jquery.zclip实现点击拷贝文字功能

    <script type="text/javascript" src="http://www.sitejs.cn/templets/skins/js/jquery- ...

  8. zookeeper(五):Zookeeper中的Access Control(ACL)

    概述 传统的文件系统中,ACL分为两个维度,一个是属组,一个是权限,子目录/文件默认继承父目录的ACL.而在Zookeeper中,node的ACL是没有继承关系的,是独立控制的. Zookeeper的 ...

  9. [MySQL] Innodb參数优化

    innodb_buffer_pool_size innodb_buffer_pool_size 參数用来设置Innodb 最基本的Buffer(Innodb_Buffer_Pool)的大小,也就是缓存 ...

  10. Struts2动作

    ActionContext 每一个请求的处理都在一个独立的线程中.每一个线程都有一个ActionContext对象.它包括了ValueStack和HttpServletRequest的东西. Stru ...