Autorización detallada para aplicaciones web

Tengo una aplicación C # .net que sirve tanto a los usuarios internos de la empresa como a los clientes externos. Necesito hacer una autorización detallada como quién accede a qué recurso. Por lo tanto, necesito algo como una autorización basada en recursos o en atributos en lugar de una autorización basada en roles.

Lo que viene a mi mente es:

Implementar mi propio mecanismo de autorización y tablas sql para mi aplicación .net Utilice / implemente un mecanismo estándar, como un software que haya implementado XACML (por ejemplo, Axiomatics)

El problema con el primer método es que no está centralizado ni es estándar, por lo que otros sistemas no pueden usarlo para autorización.

El problema con el segundo enfoque es que es potencialmente más lento (debido a las llamadas adicionales necesarias para cada recurso). Además, no estoy seguro de cuán ampliamente las aplicaciones en el mercado admiten una autorización estándar como XACML para facilitar futuras integraciones.

Entonces, en generalCuáles son las buenas prácticas para la autorización detallad para aplicaciones web que deben servir tanto a usuarios internos como a clientes externos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta