Pregunta

Tengo un servicio WCF que utiliza autorización basada en reclamos.

Lo que quiero hacer es atribuir una operación con un ClaimsPrincipalPermissionAttribute y solo hacer que la verificación de autorización se active una vez en mi costumbre ClaimsAuthorizationManager.Sin embargo, encuentro que esta verificación de autorización se activa dos veces;una vez para la URL y luego una segunda vez para la operación en sí.

No puedo encontrar mucha información sobre este tema, pero lo que encontré indica que esto es por diseño.¿Es posible para mí sobrescribir este comportamiento y no realizar ninguna autorización en la URL y solo autorización basada en la operación?

No tengo ningún interés en autorizar en función de las URL y preferiría evitar agregar reclamos para todas y cada una de las URL, ya que es probable que tenga muchas y es posible que cambien en el futuro.

He leído varios artículos y visto videos de Dominick Baier sobre este tema y, aunque he aprendido mucho de ellos, todavía no puedo encontrar una respuesta.¿Esto simplemente no es posible y tengo que lidiar con tener que autorizar también según la URL?

¿Fue útil?

Solución

No puede cambiar este comportamiento: lo que hice es escribir un atributo de permiso de reclamaciones personalizadas que sí emite diferentes tipos de reclamaciones.De esta manera, podría distinguir entre la invocación por solicitud y el atributo explícito.

https://github.com/ThinkTecture / Thinktecture.IdentityModel.45 / Tree / Master / IdentityModel / Thinktecture.IdentityModel / Autorización

o el paquete de thinktecture.identitymodel nuget.

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