A injeção de dependências surgiu com o propósito de desacoplar código, principalmente separando código cross-cutting para que o core da aplicação se focasse no negócio e o CDI tem esse mesmo propósito.
Minha pergunta é, por exemplo vamos considerar um exemplo de uma mensagem de um fórum, onde apenas um usuário do tipo moderador pode aprovar as mensagens e somente o próprio autor da mensagem pode edita-lá ou excluir lá, isso é uma regra de negócio ou é apenas um aspecto da aplicação.
Onde seria o melhor lugar para colocar esse tipo de código? sendo um aspecto poderia ficar em um interceptor do CDI ou no próprio Managed bean ou sendo regra de negócio ficar dentro de uma classe Service?