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,

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top