如题.

解决方案 »

  1.   

    引用:
    msdn上有讲这一块:ASP.NET
    跨应用程序进行 Forms 身份验证ASP.NET 支持在分布式环境中(跨单个服务器上的多个应用程序或在网络场中)进行 Forms 身份验证。如果启用了跨多个 ASP.NET 应用程序的 Forms 身份验证,则当用户在应用程序之间切换时,不需要对他们重新进行身份验证。配置跨应用程序的 Forms 身份验证
    要配置跨应用程序的 Forms 身份验证,请在 forms 和 machineKey 配置节中设置若干属性,以便值对于参与共享 Forms 身份验证的所有应用程序都是相同的。 下面的示例演示了 Web.config 文件的 Authentication 节。除非另行说明,否则 name、protection、path、validationKey、validation、decryptionKey 和 decryption 属性必须在所有应用程序中都完全相同。同样,用于 Cookie 数据的加密和验证密钥以及加密方案和验证方案也必须完全相同。如果设置不匹配,则不能共享 Cookie。注意  
    运行 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 时设置的到期日期和时间。当更
      

  2.   

    http://community.csdn.net/Expert/topic/5636/5636983.xml?temp=.7760126