Pregunta

He estado configurando algunas de mis aplicaciones para utilizar el Windows Identity Foundation. Yo uso la redirección pasiva para obtener tokens de seguridad de un servicio de token de seguridad. He logrado esto mediante la inserción de código de WIF en una página web de inicio de sesión que existía antes de empezar a utilizar WIF y luego utilizando la opción "Agregar STS de referencia" dentro de las aplicaciones.

Sin embargo, tengo una aplicación que no utilice el sitio web de inicio de sesión. Creo que lo que me gustaría hacer es generar el token de seguridad dentro de la propia aplicación sin redirigir al usuario a un STS externos.

He intentado, sin éxito, de lograr esto mediante el uso de la clase ClaimsAuthenticationManager que se puede utilizar para agregar demandas adicionales a una señal de seguridad recibida desde un STS externos. Sin embargo, ClaimsAuthenticationManager no funciona en este contexto. En lugar de llamar ClaimsAuthenticationManager sólo una única vez por sesión (el resultado esperado y deseado), que se llama en cada carga de página y no hay indicios de las reivindicaciones que asignan al usuario sobre la carga de la página anterior.

Estoy buscando a la creación de un STS externas que le dará al usuario las reivindicaciones de una base de datos, pero veo esto como un peligro. No parece haber ninguna razón por la que tengo que crear todo un STS separados por sólo un único sitio web. Me gustaría simplemente generar el token de seguridad dentro de mi aplicación.

¿Fue útil?

Solución

Es posible poner la clase de servicio de token de seguridad dentro de su propia aplicación.

Sin embargo, para que el usuario pueda acceder a una página de inicio de sesión en su aplicación antes de que hayan obtenido el token, debe quitar el deny users=? de la sección Authorization de web.config. Esto permitirá a los usuarios lleguen a su página web con ninguna señal de seguridad. Una vez que se conecten, redirigirlos a la página correspondiente.

Esto tiene la desventaja de no ser capaz de utilizar la funcionalidad de redirección pasiva conveniente, pero funciona. Eso significa que debe redirigir manualmente los usuarios a la página de inicio de sesión cuando intentan hacer algo que les obliga a estar conectado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top