Asignación dinámica de roles a controladores en ASP.Net MVC
Actualmente estoy codificando los roles autorizados en el filtro en mis aplicaciones MVC de esta manera:
[Authorize(Roles = "Administrator,Manager")]
Finalmente, me gustaría tener una forma de asignar los roles a cada controlador, de modo que el administrador del sitio pueda manejar la asignación de los roles que pueden realizar cada conjunto de acciones.
string roles = DoSomethingToGetAllowableRoles(controllerName);
[Authorize(Roles = roles)]
Me imagino que necesito tener una tabla de base de datos que de alguna manera mantenga una lista de cada controlador, y luego otra tabla que asigne los controladores a los roles. Lo que me gustaría es una página donde pueda enumerar cada controlador y luego tener un conjunto de casillas de verificación que enumera cada función que se aplica a ese controlador.
¿Alguien tiene un ejemplo o puede guiarme en una dirección que logre esto?