asp.net Acesso baseado em função do MVC ao controlador
Muitos artigos on-line sobre acesso baseado em função falam em aplicar algo assim para garantir o acesso baseado em função a um controlador ou ação
[Authorize(Roles = "Admin, Manager")]
public class SomeController : Controller
{
}
Tudo bem, mas agora se eu precisar implementar meu próprio acesso baseado em função personalizado, em que tenho funções em uma tabela [RoleMaster] e as funções atribuídas a um usuário de uma tabela [Usuário] em outra tabela chamada [UserRoles]. No meu código, terei um objeto de usuário em sessão que agora terá uma lista de Funções
public class RegisteredUsers
{
//... other user properties
public List<UserRole> Roles { get; set; }
}
public class UserRole
{
public string RoleID { get; set; }
public string RoleName { get; set; }
//... other properties
}
Agora, como verifico a propriedade UserRole.RoleName na lista de Funções no objeto RegisteredUsers como sendo compatível com qualquer um dos valores atribuídos ao atributo Authorize usando: [Authorize (Roles = "Admin, Manager")]. Em alguns casos, se as funções tiverem Admin ou Gerente, elas deverão ter acesso. Em alguns casos, desejarei que eles tenham tanto a função de administrador quanto a de gerente para obter acess
Além disso, no futuro, se novas funções forem adicionadas ao sistema, precisarei reconstruir e reimplementar meu aplicativo com todos os atributos de Autorização refeito
Não consegui encontrar nenhum exemplo claro de implementar o mesmo, ou talvez não esteja pesquisando corretamente. Por favor, me ajude da maneira que puder. Obrigado pelo seu tempo..