Seguinte, gostaria da opinião de todos com relação a autorização e autenticação de usuários no seguinte cenário:
Uma aplicação onde os usuários são divididos em grupos(perfis), cada grupo tendo acesso ou não a uma determinada ação(action) de um determinado controle(controller).
Até aqui vocês irão dizer, usar Role Provider. Eis então que coloco o problema, nesse cenário não tem como decorar os controles/ações com os papeis que terão permissão, simplesmente pelo fato de não saber que papel será. Um determinado grupo (Ex.: Master)
de usuários, será responsável por criar e editar os perfis para cada grupo de usuário, apenas esse perfil master viria pré cadastrado com acesso irrestrito. A construção do menu seria feita baseada em cada perfil, com suas respectivas permissões.
Outra complicação que vejo é que em geral ao se criar um filtro customizado, o acesso aos dados e feito direto pelo contexto. Como fazer isso quando na arquitetura se tem a divisão entre camadas de dados, serviços e UI? Como fazer a injeção de dependência
nesses filtros?
Tendo isso em mente, gostaria de discutir as possíveis soluções para os problemas colocados.
A aplicação seria desenvolvida no VS 2013, asp.net 4.5, MVC 5, entity framework e sql server.