Compartir a través de


Autenticación de formularios entre distintas aplicaciones

Actualización: noviembre 2007

ASP.NET admite la autenticación mediante formularios en un entorno distribuido, ya sea entre aplicaciones en un solo servidor o en una matriz de servidores Web. Cuando la autenticación de formularios se habilita en las varias aplicaciones ASP.NET, no es necesario que los usuarios vuelvan a autenticarse al cambiar entre las aplicaciones.

Configurar la autenticación de formularios a través de aplicaciones

Para configurar la autenticación de formularios a través de aplicaciones, debe establecer varios atributos en las secciones de configuración forms y machineKey de forma que los valores sean los mismos para todas las aplicaciones que participan en la autenticación de formularios compartidos.

El ejemplo siguiente muestra la sección Authentication de un archivo Web.config. A menos que se indique lo contrario, los atributos name, protection, path, validationKey y decryptionKey deben ser idénticos en todas las aplicaciones. Del mismo modo, las claves de codificación y validación, por un lado, y el esquema de codificación utilizado para los datos de las cookies, por otro, deben ser exactamente iguales. Si no coinciden los valores, no se pueden compartir las cookies.

<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="[your key here]" 
      decryptionKey="[your key here]" 
        validation="SHA1" />
  </system.web>
</configuration>

Tras emitir una cookie, se realiza un seguimiento de su vencimiento basándose en el valor de Expires dentro de la propia cookie. Esto significa que si dos aplicaciones tienen diferentes atributos Timeout, la hora y la fecha de vencimiento establecidas cuando se emitió la cookie se conservan a lo largo de toda la vida útil de la cookie. Cuando se actualiza una cookie, se utiliza su vencimiento original para calcular la nueva fecha de vencimiento. La única vez que se utiliza el valor de configuración de Timeout es cuando se crea inicialmente la cookie.

Vea también

Tareas

Cómo: Implementar la autenticación de formularios simple

Otros recursos

Seguridad de aplicaciones Web ASP.NET