mapeamento dinâmico de funções para controladores no ASP.Net MVC

Atualmente, estou codificando as funções autorizadas no filtro em meus aplicativos MVC da seguinte forma:

[Authorize(Roles = "Administrator,Manager")]

Eu gostaria de eventualmente ter uma maneira de mapear as funções para cada controlador, para que o administrador do site possa gerenciar a atribuição de quais funções podem executar cada conjunto de ações.

string roles = DoSomethingToGetAllowableRoles(controllerName);

[Authorize(Roles = roles)]

Estou imaginando que preciso ter uma tabela de banco de dados que de alguma forma mantenha uma lista de cada controlador e, em seguida, outra tabela mapeando os controladores para as funções. O que eu gostaria é de uma página na qual eu possa listar cada controlador e, em seguida, ter um conjunto de caixas de seleção que listam cada função que se aplica a esse controlador.

Alguém tem um exemplo ou pode me levar em uma direção que conseguirá isso?

questionAnswers(1)

yourAnswerToTheQuestion