visual verificar usuario tiene suficientes studio sitios sitio puede privilegios permisos para obtener metabase los integrada equipo cómo cuenta configurar carpeta autenticación autenticacion agregar administrador acceso iis-7 forms-authentication shared

iis 7 - verificar - Compartir la autenticación entre dos aplicaciones web.



usuario iis permisos (2)

Si en el caso de que alguien aún no pueda compartir las claves, use compatibilityMode="Framework20SP1"

<machineKey validationKey="same key all over" decryptionKey="same key all over" validation="SHA1" decryption="AES" compatibilityMode="Framework20SP1"/>

Tengo un sitio web base (aplicación Asp.net WebForms ) que se ejecuta en ie.

http://localhost:90/

Luego creé una nueva aplicación (esta vez Asp.net MVC ) y la agregué en

http://localhost:90/mvc/

pero no solo como una simple carpeta virtual, sino como una carpeta de aplicación al definir un grupo de aplicaciones diferente para ejecutarlo, en comparación con la aplicación principal .

Dado que los navegadores no pueden saber que existen dos aplicaciones diferentes básicamente en el mismo dominio, funcionaría así:

  1. El usuario accede a http://localhost:90/
  2. La aplicación principal redirige al usuario a la pantalla de autenticación de formularios
  3. el usuario inicia sesión con éxito
  4. La web principal añade una cookie de autenticación.
  5. el usuario accede a http://localhost:90/mvc
  6. El navegador adjunta la misma cookie de la aplicación principal

¿Es posible autenticar al usuario en base a esta misma cookie? Configuraría mi aplicación MVC para iniciar sesión redirigir a la aplicación principal para tener una pantalla de autenticación compartida. Pero me gustaría saber quién se autenticó y trabajar a partir de ese momento.

He leído algo sobre compartir los mismos valores de system.web/machineKey para proporcionar este tipo de funcionalidad, pero me gustaría algunos ejemplos del mundo real.

Soy consciente de que estas dos aplicaciones no podrán compartir el estado de la sesión y eso no es un problema, porque no quiero que lo hagan. Todo lo que quiero es un tipo de inicio de sesión único (SSO / SSS)

es posible? ¿Cómo?

Importante

He leído otras preguntas / respuestas sobre esto, pero están preguntando acerca de cross-domain / cross-server, etc. Esta está en el mismo sitio web de IIS.


Lo encontré yo mismo.

Este es el artículo en MSDN que habla exactamente sobre este escenario. Decidí mantener esta pregunta de todos modos para cualquier persona que buscaría la misma información algún tiempo después.

MSDN: autenticación de formularios en todas las aplicaciones

En breve

Tiene que configurar las claves de la máquina en web.config de ambas aplicaciones para que coincidan, por lo que podrán decodificar los datos que generó la otra parte. Y ese es todo el truco. El artículo de MSDN explica esto con gran detalle, incluyendo cómo generar esas claves.