Todas las cuestiones de seguridad con las que he trabajado en ASP.Net en el pasado se basaron principalmente en las funciones. Esto es bastante fácil de implementar y ASP.Net está orientado para este tipo de modelo de seguridad. Sin embargo, estoy buscando algo un poco más fino que la simple seguridad basada en roles.Seguridad de ASP.Net utilizando Seguridad basada en operaciones
Esencialmente Quiero ser capaz de escribir código como este:
if(SecurityService.CanPerformOperation("SomeUpdateOperation")){
// perform some update logic here
}
también necesitaría la fila de acceso de seguridad a nivel de esta manera:
if(SecurityService.CanPerformOperation("SomeViewOperation", SomeEntityIdentifier)){
// Allow user to see specific data
}
Una vez más, el control de acceso de grano fino. ¿Hay algo como esto ya construido? ¿Algún marco que puedo incluir en ASP.Net y comenzar a usar, o voy a tener que construirlo yo mismo?
@Josh: ¿Alguna vez encontró una forma decente de implementar algo como esto? – Breadtruck
Parcialmente sí. Resolví el problema de operación creando una tabla de roles en la base de datos que tenía una tabla xRef que se vinculaba a sí misma. De esta forma, puedo crear una estructura en árbol de roles y usar un CTE para traer de vuelta la jerarquía aplanada. Creé un rol personalizado y proveedores de membresía para hacer el trabajo sucio y dejar que ASP.Net maneje el resto. Se ve un poco gracioso en el código porque todo es un rol lógico, pero conceptualmente hay roles y permisos. – Josh