Pregunta

He estado programando con autenticación basada en reclamos desde hace algún tiempo con Windows Identity Foundation.

Me parece que en Windows Identity Foundation, Una vez que un usuario inicia sesión, las afirmaciones son básicamente cadenas de información que describen al usuario.

Con la antigua autenticación basada en roles, podría decir que un usuario es o no miembro de un grupo determinado, pero con la autenticación basada en reclamos, ahora puedo tener cadenas de información que describan a un usuario. "Este usuario es mujer". Este usuario nació el "6 de julio de 1975". "Este usuario inició sesión con una clave USB".

¿Es la esencia de la autenticación basada en reclamos, que tengo cadenas de información sobre el usuario dado al marco?

¿Fue útil?

Solución

Las reclamaciones son atributos sobre el tema que interactúa con su aplicación y puede ser cualquier cosa. Todos los ejemplos que dio son esencialmente correctos.

Es por eso que puede usar reclamos para más que solo impulsar las reglas de autorización. También podrían representar la información del perfil de usuario, por ejemplo. Y una membresía de rol es solo otro atributo (que se usa principalmente para el control de acceso).

Observaciones de pareja:

  • Una diferencia sutil, pero muy importante, es que las afirmaciones son emitidas por una entidad autorizada y confiable (el STS). El origen de un reclamo es tan importante como el reclamo en sí. Para usar un ejemplo simple: si le envío un token emitido por Microsoft's STS con un reclamo "Title = Program Manager", probablemente tenga alta certeza de que soy un PM trabajando para Microsoft. En otras palabras, existe una correlación entre la fidelidad de los atributos que obtienes y el nivel de confianza que pones en el emisor.
  • En WIF, los valores de reclamos se implementan como "cadenas" (como en un tipo .NET), pero podrían ser cualquier objeto (en serie). Para cosas simples como roles, grupos, nombres, etc. Simplemente usa el valor. Para otros tipos más complejos, necesitará algún tipo de deserialización.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top