ASP.NET跨应用程序进行 Forms 身份验证

转载 2007年09月26日 09:06:00

转载:http://msdn2.microsoft.com/zh-cn/library/eb0zx8fc(VS.80).aspx

ASP.NET 支持在分布式环境中(跨单个服务器上的多个应用程序或在网络场中)进行 Forms 身份验证。如果启用了跨多个 ASP.NET 应用程序的 Forms 身份验证,则当用户在应用程序之间切换时,不需要对他们重新进行身份验证。

配置跨应用程序的 Forms 身份验证

要配置跨应用程序的 Forms 身份验证,请在 formsmachineKey 配置节中设置若干属性,以便值对于参与共享 Forms 身份验证的所有应用程序都是相同的。

下面的示例演示了 Web.config 文件的 Authentication 节。除非另行说明,否则 nameprotectionpathvalidationKeyvalidationdecryptionKeydecryption 属性必须在所有应用程序中都完全相同。同样,用于 Cookie 数据的加密和验证密钥以及加密方案和验证方案也必须完全相同。如果设置不匹配,则不能共享 Cookie。

Note注意

运行 ASP.NET 2.0 版的应用程序可以与运行 ASP.NET 早期版本的应用程序共享 Forms 身份验证票证信息,前提是每个 ASP.NET 2.0 版应用程序的 machineKey 元素配置中包括 decryption="3DES"

<configuration>
  <system.web>
    <authentication mode="Forms" >
      <!-- The name, protection, and path attributes must match 
           exactly in each Web.config file. -->
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" 
        protection="All"  
        path="/" 
        timeout="30" />
    </authentication>

    <!-- Validation and decryption keys must exactly match and cannot
         be set to "AutoGenerate". The validation and decryption
         algorithms must also be the same. -->
    <machineKey
      validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" 
      decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" 
      validation="SHA1" />
  </system.web>
</configuration>

发出 Cookie 之后,将根据 Cookie 自身中的 Expires 值跟踪 Cookie 的到期时间。这意味着如果两个应用程序具有不同的 Timeout 属性,则将在 Cookie 的整个生存期中保留最初发出每个 Cookie 时设置的到期日期和时间。当更新 Cookie 时,Cookie 的原始到期时间用于计算新到期时间。使用配置 Timeout 值的唯一时间就是最初创建 Cookie 的时间。

 

相关文章推荐

asp.net实战Forms身份验证/角色案例

  • 2009年09月14日 15:17
  • 143KB
  • 下载

Asp.net Forms身份验证

前言:     因为自己一直从事企业内部系统开发,一直将登陆用户信息保存在Session中.没有用过什么Forms身份验证,最近研究了一下这方面的东西,贴一下,欢迎大家拍砖. Froms身份验证:...

asp.net登录 用Forms身份验证和基于角色的分目录访问

Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。 具体步骤: ...

asp.net Forms身份验证详解

在做网站的时候,都会用到用户登录的功能。对于一些敏感的资源,我们只希望被授权的用户才能够访问,这让然需要用户的身份验证。对于初学者,通常将用户登录信息存放在Session中,笔者在刚接触到asp.ne...

[.NET 基于角色安全性验证] 之三:ASP.NET Forms 身份验证

[ 2006-08-08 11:11:56 | 作者: yuhen ] 字号: 大 | 中 | 小 在开发过程中,我们需要做的事情包括: 1. 在 web.config 中设...

光脚丫学ASP.NET MVC(0004):在ASP.NET MVC中使用Forms身份验证

光脚丫思考  QQ:524130780邮箱:524130780@QQ.COM博客:http://blog.csdn.net/GJYSK视频演示01:http://u.115.com/file/bh0b...
  • gjysk
  • gjysk
  • 2011年07月11日 15:23
  • 1597

从 ASP .NET 进行 Active Directory 域服务身份验证

https://msdn.microsoft.com/zh-cn/library/ms180890 本主题说明 ASP.NET 应用程序如何使用 Forms 身份验证来允许用户使用轻型目录访...

从 ASP .NET 进行 Active Directory 域服务身份验证

从 ASP .NET 进行 Active Directory 域服务身份验证 本主题说明 ASP.NET 应用程序如何使用 Forms 身份验证来允许用户使用轻型目录访问协议 (LDAP) ...
  • joeweng
  • joeweng
  • 2012年04月10日 12:45
  • 696

asp.net identity(微软首推的身份验证)2.0分析-基于vs2015默认程序

因为总是感觉,asp.net identity用起来不太舒服,比如代码的扩展性,以及维护以后的版本,所以对其进行分析 下面进入正文: 在vs2015自带的默认程序中,App_Start/Ident...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET跨应用程序进行 Forms 身份验证
举报原因:
原因补充:

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