关闭

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

标签: asp.net服务器authenticationmicrosoftauthorizationforms
936人阅读 评论(1) 收藏 举报
分类:

 

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 登录服务器使用该密钥对站点间传递的查询字符串进行加密和解密。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:160145次
    • 积分:2156
    • 等级:
    • 排名:第18541名
    • 原创:45篇
    • 转载:27篇
    • 译文:1篇
    • 评论:65条
    最新评论
    My Project