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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta