asp.net - tables - ¿Cuáles son los reclamos en ASP Identidad.NET
asp.net identity tutorial español (1)
¿Puede alguien explicar por favor qué significa el mecanismo de reclamo en el nuevo ASP.NET Identity Core?
Como puedo ver, hay una tabla AspNetUserLogins
, que contiene UserId
, LoginProvider
y ProviderKey
.
Pero, todavía no puedo entender o encontrar información sobre cuándo se agregan datos a la tabla AspNetUserClaims
y para qué situaciones se usa esta tabla.
¿Qué significa mecanismo de reclamo en el nuevo ASP.NET Identity Core?
Hay dos enfoques de autorización comunes que se basan en Role and Claim.
Seguridad basada en roles
A un usuario se le asigna uno o más roles a través de los cuales el usuario obtiene derechos de acceso. Además, al asignar un usuario a un rol, el usuario obtiene inmediatamente todos los derechos de acceso definidos para ese rol.
Seguridad basada en reclamos
Una identidad basada en reclamos es el conjunto de reclamaciones. Un reclamo es una declaración que una entidad (un usuario u otra aplicación) hace sobre sí misma, es solo un reclamo. Por ejemplo, una lista de reclamaciones puede tener el nombre del usuario, el correo electrónico del usuario, la edad del usuario, la autorización del usuario para una acción. En Seguridad basada en roles, un usuario presenta las credenciales directamente a la aplicación. En un modelo basado en reclamos, el usuario presenta los reclamos y no las credenciales a la aplicación. Para que un reclamo tenga un valor práctico, debe provenir de una entidad en la que la aplicación confíe.
Los siguientes pasos ilustran la secuencia de eso sucede en un modelo de seguridad basado en reclamos:
- El usuario solicita una acción. La aplicación de la parte dependiente (RP) solicita un token.
- El usuario presenta las credenciales a la autoridad emisora en la que confía la aplicación RP.
- La autoridad emisora emite un token firmado con reclamos, luego de autenticar las credenciales del usuario.
- El usuario presenta el token a la aplicación RP. La aplicación valida la firma del token, extrae los reclamos y, en función de los reclamos, acepta o rechaza la solicitud.
Pero, aún no puedo entender ni encontrar ninguna información, cuando los datos se agregan a AspNetUserClaims y para qué situaciones se usa esta tabla.
Cuando se encuentre en una situación en la que no se utilice una Seguridad basada en roles, y elija utilizar la Seguridad basada en reclamos, deberá utilizar la tabla AspNetUserClaims. Para saber cómo utilizar las Reclamaciones en ASP.NET Identity, consulte el enlace a continuación para obtener más información.
http://kevin-junghans.blogspot.com/2013/12/using-claims-in-aspnet-identity.html
Actualizar
¿A qué hora debo usar la seguridad basada en roles y cuando estoy basada en reclamos? ¿Podría por favor escribir algunos ejemplos?
No hay una situación muy clara en la que usaría o no usaría Seguridad basada en roles o basada en reclamos, no como en un caso en el que usaría A en lugar de B.
Sin embargo, el control de acceso basado en reclamos permite una mejor separación de las reglas de autorización de la lógica comercial central. Cuando las reglas de autorización cambian, la lógica de negocio principal no se ve afectada. Habrá situaciones en las que preferiría usar un enfoque basado en Reclamaciones.
A veces, las reclamaciones no son necesarias. Este es un importante descargo de responsabilidad. Las empresas con una gran cantidad de aplicaciones internas pueden usar la Autenticación de Windows integrada para lograr muchos de los beneficios que ofrecen los reclamos. Active Directory hace un gran trabajo almacenando identidades de usuario, y debido a que Kerberos es parte de Windows, sus aplicaciones no tienen que incluir mucha lógica de autenticación. Siempre que cada aplicación que construya pueda usar la Autenticación de Windows integrada, es posible que ya haya alcanzado su utopía de identidad. Sin embargo, hay muchas razones por las cuales podría necesitar algo más que la autenticación de Windows. Es posible que tenga aplicaciones orientadas a la web que utilizan personas que no tienen cuentas en su dominio de Windows. Otra razón podría ser que su empresa se haya fusionado con otra empresa y tenga problemas para autenticarse en dos bosques de Windows que no tienen (y que quizás nunca) tengan una relación de confianza. Quizás desee compartir identidades con otra empresa que tenga aplicaciones que no sean .NET Framework o si necesita compartir identidades entre aplicaciones que se ejecutan en diferentes plataformas (por ejemplo, Macintosh). Estas son solo algunas situaciones en las que la identidad basada en reclamos puede ser la opción correcta para usted.
Para obtener más información, visite http://msdn.microsoft.com/en-us/library/ff359101.aspx