设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> ASP.NET基础 >> ASP.NET 2.0 中的 Windows 身份验证
精品推荐
ASP.NET基础点击TOP10
·十天学会ASP.net之第一天
·ASP.NET构架与安全机制之Http请求处理
·十天学会ASP.net之第三天
·ASP.NET技巧:DataGrid传统分页方式
·asp.net 操作xml
·学习掌握.NET的第一步
·十天学会ASP.net之第四天
·十天学会ASP.net之第二天
·优秀ASP.NET程序员修炼之路
·十天学会ASP.net之第八天
网络编程点击TOP10
·C#编写的windows计算器-源代码
·ASP.NET 程序中常用的三十三种代码
·『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)
·用C#实现木马程序
·VS.net 2005 Beta 下载地址(Express Edition)
·从零开始学ASP.NET(基础篇)
·"SQL Server不存在或访问被拒绝"问题的解决
·C#版的网站新闻发布系统
·.NET 初 级 读 本
·c#操作word表格
精选专题

ASP.NET 2.0 中的 Windows 身份验证

作者: 来源:http://www.xgdown.com/ 时间:2007-10-10 12:57:30

ASP.NET 2.0 中的 Windows 身份验证(1)

  本教程阐释在 ASP.NET 2.0 版中,IIS 集成 Windows 身份验证以及 ASP.NET Windows 身份验证的工作机制。同时,阐释 NTLM 和 Kerberos 身份验证的工作机制。此外,本教程还阐释 WindowsAuthenticationModule 类如何构造 WindowsPrincipal 和 WindowsIdentity 对象,然后将这些对象附加到当前的 ASP.NET Web 请求以表示经过身份验证的用户。

  概述

  身份验证是一个验证客户端身份的过程,通常采用指定的第三方授权方式。客户端可能是最终用户、计算机、应用程序或服务。客户端的标识称为安全原则。为了使用服务器应用程序进行验证,客户端提供某种形式的凭据来允许服务器验证客户端的标识。确认了客户端的标识后,应用程序可以授予执行操作和访问资源的原则。

  如果应用程序使用 Active Directory 用户存储,则应该使用集成 Windows 身份验证。对 ASP.NET 应用程序使用集成 Windows 身份验证时,最好的方法是使用 ASP.NET 的 Windows 身份验证提供程序附带的 Internet 信息服务 (IIS) 身份验证方法。使用该方法,将自动创建一个 WindowsPrincipal 对象(封装一个 WindowsIdentity 对象)来表示经过身份验证的用户。您无需编写任何身份验证特定的代码。

  ASP.NET 还支持使用 Windows 身份验证的自定义解决方案(避开了 IIS 身份验证)。例如,可以编写一个根据 Active Directory 检查用户凭据的自定义 ISAPI 筛选器。使用该方法,必须手动创建一个 WindowsPrincipal 对象。

  ASP.NET 身份验证

  IIS 向 ASP.NET 传递代表经过身份验证的用户或匿名用户帐户的令牌。该令牌在一个包含在 IPrincipal 对象中的 IIdentity 对象中维护,IPrincipal 对象进而附加到当前 Web 请求线程。可以通过 HttpContext.User 属性访问 IPrincipal 和 IIdentity 对象。这些对象和该属性由身份验证模块设置,这些模块作为 HTTP 模块实现并作为 ASP.NET 管道的一个标准部分进行调用,如图 3 所示。

  图 3. ASP.NET 管道

  ASP.NET 管道模型包含一个 HttpApplication 对象、多个 HTTP 模块对象,以及一个 HTTP 处理程序对象及其相关的工厂对象。HttpRuntime 对象用于处理序列的开头。在整个请求生命周期中,HttpContext 对象用于传递有关请求和响应的详细信息。

  有关 ASP.NET 请求生命周期的详细信息,请参阅"ASP.NET Life Cycle",网址是 http://msdn2.microsoft.com/library/ms227435(en-US,VS.80).aspx。

  身份验证模块

  ASP.NET 2.0 在计算机级别的 Web.config 文件中定义一组 HTTP 模块。其中包括大量身份验证模块,如下所示:

<httpModules>

  <add name="WindowsAuthentication"
    type="System.Web.Security.WindowsAuthenticationModule" />
  <add name="FormsAuthentication"
    type="System.Web.Security.FormsAuthenticationModule" />
  <add name="PassportAuthentication"

共2页 9 7 [1] [28 :>

ASP.NET 2.0 中的 Windows 身份验证 相关文章:
ASP.NET 2.0 中的 Windows 身份验证 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com