Asp.net中有3种身份验证的方法

原创 2007年09月18日 15:10:00

 

Asp.net中有3种身份验证的方法。一种是基于Windows验证,一种是基于Form验证,还有就是passport。主要体现在Web.config文件中的设置。
     如果采用windows验证,可以不用登陆就可以直接访问站内网页,因为这种方式将用户身份验证的工作交给IIS服务器和Window操作系统去处理,网站开发人员就不需要去考虑具体的验证过程。只要客户机加入了服务器域内。这种方式比较适合企业内部网中的应用。具体设置如下:
   
   
   
     <authentication mode="Windows" />
     <!--   授权
            此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
           应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
           (未经身份验证的)用户。
     -->
     <authorization>
         <allow users="*" /> <!-- 允许所有用户 -->
             <!--   <allow      users="[逗号分隔的用户列表]"
                              roles="[逗号分隔的角色列表]"/>
                   <deny       users="[逗号分隔的用户列表]"
                              roles="[逗号分隔的角色列表]"/>
             -->
     </authorization>
   
     第二种方式是基于Form的验证方式,这时要用到登陆页面,凡是未经过验证的用户都会转向该页面。具体设置如下:
     <authentication mode="Forms">
     <!--   授权
            此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
           应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
           (未经身份验证的)用户。
     -->
     <forms name="myproject" loginUrl="Login.aspx"/>
</authentication>
第三种:Passport 身份验证
资料:

Passport 身份验证是由 Microsoft 提供的集中身份验证服务,该服务为成员站点提供单一登录和核心配置文件服务。Passport 之所以让用户受益匪浅,原因在于用户不必登录访问受到限制的新资源或站点。如果希望您的站点与 Passport 身份验证及授权兼容,则应该使用该提供程序。该主题提供有关 Microsoft .NET Passport 和 ASP.NET 对其支持的介绍性资料。有关更多信息,请参见 .NET Passport Web site(.NET Passport 网站)。要访问该文档,必须获取 Passport 并注册。

Passport 是基于 Cookie 的身份验证服务。使用 Passport 身份验证的示例事务对话的工作方式如下:

  1. 客户端向受到保护的资源(如 http://www.contoso.com/default.aspx)发出 HTTP GET 请求。

  2. 检查客户的 Cookie 是否具有现有的 Passport 身份验证票。如果站点找到有效的凭据,则站点对该客户进行身份验证。如果请求不包括有效的身份验证票,则服务器返回状态代码 302 并将客户重定向到 Passport 登录服务。响应在查询字符串中包含一个 URL,该 URL 被发送到 Passport 登录服务以便将客户定向回原始站点。

  3. 客户端执行重定向操作,再向 Passport 登录服务器发出 HTTP GET 请求,然后传输来自原始站点的查询字符串信息。

  4. Passport 登录服务器向客户提供登录窗体。

  5. 客户端填写窗体,并使用安全套接字层 (SSL) 将 POST 发送回登录服务器。

  6. 登录服务器对用户进行身份验证并将客户重定向回原始 URL (http://www.contoso.com/default.aspx)。响应在查询字符串中包含一个加密的 Passport Cookie。

  7. 客户遵循重定向并再次请求原始的受保护资源,这一次使用 Passport Cookie。

  8. 起始服务器上的 PassportAuthenticationModule 会检测是否存在 Passport Cookie,并测试身份验证。如果成功,则该请求通过身份验证。

对于站点上访问受到限制的资源,后续的请求使用提供的票证进行身份验证。Passport 还会制定有关票的到期及在其他成员站点上重复使用票的条款。

Passport 使用“三重 DES”加密方案。当成员站点注册到 Passport 服务时,将被授予站点特定的密钥。Passport 登录服务器使用该密钥对站点间传递的查询字符串进行加密和解密。

ASP.net的身份验证方式有哪些?分别是什么原理?

Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活。 Forms 验证方式对基于用户的验证授权提供了很好的支持...
  • GoodShot
  • GoodShot
  • 2011年08月06日 07:21
  • 3532

asp.net几种安全验证方式

ASP.NET几种安全验证方法[转] 如何运用 Form 表单认证 ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“N...
  • liyong11111
  • liyong11111
  • 2007年12月18日 19:51
  • 987

asp.net身份验证方式

ASP.NET身份验证模式包括Windows、Forms(窗体)、Passport(护照)和None(无)。重点内容 Windows身份验证 常结合应用程序自定义身份验证使用使用这种身份验证模式时,...
  • AkashaicRecorder
  • AkashaicRecorder
  • 2016年01月06日 22:01
  • 624

Java基础——Object类的三个常用方法

内容整理自《Java 核心技术 卷一》 Object类的简介java.lang.Object java.lang包在使用的时候无需显示导入,编译的时候由编译器自动导入 Object类是所有类的超类,是...
  • HughGilbert
  • HughGilbert
  • 2017年05月05日 15:59
  • 303

ASP.NET Windows身份验证

http://www.cnblogs.com/fish-li/archive/2012/05/07/2486840.html
  • zhulongxi
  • zhulongxi
  • 2016年07月11日 11:59
  • 298

asp.net中自动填充参数的存储过程类(C#)

执行一下这个sql: SELECT B.[name], C.[name] AS [type], B.length, B.isoutparam, B.isnullable FROM sysobject...
  • smartsmile2012
  • smartsmile2012
  • 2012年11月30日 16:59
  • 1535

ASP.NET里面的身份验证和授权(一)

在学习ASP.NET中,接触到了里面的身份验证和授权。我们就来具体总结一下这方面的知识。说到身份验证,我们以前的身份验证和授权都是基于Session来做的,都是从数据库中进行查找,比如说登陆的页面,我...
  • huanjileaimeidan
  • huanjileaimeidan
  • 2013年12月04日 10:00
  • 3601

ASP.NET 身份验证机制

ASP.NET提供了3种认证方式:windows身份验证、Forms验证和Passport验证。 windows身份验证: IIS根据应用程序的设置执行身份验证。要使用这种验证方式,在IIS中必须禁...
  • linshichen
  • linshichen
  • 2016年08月13日 10:47
  • 315

ASP.NET Forms 身份验证

ASP.NET Forms 身份验证 ASP.NET Forms 身份验证 概述 ...
  • apinghappy
  • apinghappy
  • 2007年07月18日 10:30
  • 1125

Asp.Net Core-身份验证

在本章中,我们将简要讨论ASP.NET Core的身份验证框架。 ASP.NET Core身份框架用于实现表单身份验证。 有许多选项可供选择,以识别您的用户,包括Windows身份验证和所有第三方身份...
  • qq_36598803
  • qq_36598803
  • 2017年08月31日 11:46
  • 531
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Asp.net中有3种身份验证的方法
举报原因:
原因补充:

(最多只允许输入30个字)