在企业内网应用程序里实现Windows验证

ZDNet软件频道 时间:2003-11-18 作者:ZDNet China |  我要评论()
本文关键词:
安全是大多数应用程序开发里不可或缺的一部分。通过确定当前用户(的身份)和应用已制定的安全设置,控制用户使用哪些资源常常是有必要的。这种情形包括验证和授权,以及安全的通信。
本文译自Builder.com,未经许可请勿转载

安全是大多数应用程序开发里不可或缺的一部分。通过确定当前用户(的身份)和应用已制定的安全设置,控制用户使用哪些资源常常是有必要的。这种情形包括验证和授权,以及安全的通信。

Windows验证

用户访问ASP.NET应用程序的第一道障碍是验证,也就是辨别应用程序用户(身份)的过程。(通过验证的用户叫做参与者principal)。安全过程的下一步是授权。这就定义了参与者被允许使用的资源和操作。

ASP.NET支持三种验证方案:Windows、护照(Passport)和表单(form)。在本期专栏里,我们会把重点放在基于Windows的验证上,这要靠Internet信息服务(Internet Information Services,IIS)来验证用户。它利用放在服务器上的用户帐号,并提供了下列验证方法:

  • 基本(Basic):由用户提供登陆信任书(用户名/密码),它被作为明文传递给服务器。
  • 摘要(Digest):这种方式同基本是一样的,但是信任书在被传递给服务器之前经过散列处理。这个方法需要IE。
  • 集成的Windows浏览器和服务器之间经过加密的交换被用来传递用户的信任书。这个方法只得到了IE的支持。
  • 认证证书(Certificate):客户认证证书被用来辨别用户(的身份)。证书被浏览器传递给服务器。这就需要在客户的机器上安装证书。
  • 匿名(Anonymous):用户不需要登录。Web服务器创建一个Windows访问标志来表示匿名用户。

Windows验证(这种方法)只适用于放在受控环境里的网站;也就是说,使用Windows登录证书更适合于企业内网(intranet)。Internet网站无法控制用来访问网站的浏览器或者客户机器,而企业内网存在于受控环境里。当浏览器的选择被限制为诸如集成的Windows和摘要的验证方案时,这种控制就是强制性的。

Windows验证方式要求将IIS用作Web服务器。验证模式要进入IIS管理页面在Web网站属性里指定。此外,必须正确地设置web.config文件才能够在ASP.NET应用程序里使用Windows验证。下面的示例在第一行里就实现了这一点;第二行告诉系统将当前登录的用户的信任书传递给浏览器(impersonate):

<authentication mode="Windows" />
<identity impersonate="true" />

这些元素都被包含在web.config文件的system.web元素里。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134