Funções / privilégios em uma aplicação da mola / hibernação
-
16-09-2019 - |
Pergunta
Em um bancário ou aplicativo semelhante geralmente há vários papéis definidos e privilégios associados necessários (por exemplo, um usuário normal só poderia fazer transações, mas não publicá-la enquanto um supervisor pode verificar e publicá-las, tipo de fabricante / verificador). Nós também precisamos adicionar novas funções e privilégios no sistema (não tenho certeza sobre o último).
Como você conseguir este acesso baseado em função em um aplicativo de Primavera / Hibernate? Especialmente em termos de ampliação para adicionar novas funções / privilégios. Pode Acegi (I nunca utilizado) ajuda? Qualquer outra ideia seria apreciada que pode me ajudar a conseguir o acima.
Obrigado,
Solução
Como duffymo mencionado, Acegi foi renomeado para "Segurança de Primavera" e é o que eu recomendaria se você já está trabalhando com a Primavera.
Há mais de documentação on-line para Acegi de Spring Security, por isso em caso de dúvida você pode encontrar informações úteis nos Acegi docs / tutoriais, bem como o material mais recente Primavera.
Se você pode projetar sua tabela de usuários para caber com o conceito de Spring Security (nome de usuário, senha, papéis, cada um com certos tipos e nomes especificados), então você pode usar classes DAO da Primavera de segurança para fora da direita da caixa; se não, você construir uma pequena classe do adaptador para ligar Spring Security para o seu banco de dados para a consulta do usuário.
Você pode especificar papéis por servlet / URL ou mesmo no nível de método necessário. Levei um ou dois dias para envolver minha cabeça em torno dos conceitos envolvidos, mas depois que a configuração era razoavelmente fácil, e eu estava feliz que eles já resolvido a maioria dos tipos de problemas que surgem em relação à segurança da Web.
Outras dicas
Sim, Spring Security (anteriormente conhecido como Acegi) pode fazê-lo.