老周的胡..

世事无绝对,另有新情趣。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

      配置跨应用程序的Forms 身份验证  :
      要配置跨应用程序的 Forms 身份验证,请在forms和machineKey配置节中设置若干属性,以便值对于参与共享 Forms 身份验证的所有应用程序都是相的。  
    
      下面的示例演示了 Web.config 文件的Authentication节。除非另行说明,否则 nameprotectionpathvalidationKeydecryptionKey 属性必须在所有应用程序中都完全相同。同样,用于 Cookie 数据的加密和验证密钥以及加密方案也必须完全相同。如果设置不匹配,则不能共享 Cookie。

  <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 algorithm 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 的时间。


 

posted on 2006-05-25 11:08  老周  阅读(220)  评论(0)    收藏  举报