Pergunta

Qual é a melhor solução de segurança para graxos entre ACEGI, JSecurity e Stark Security?

Foi útil?

Solução

JSecurity na verdade se tornou um projeto Apache sob o nome Apache ki Há um tempo atrás e eles não ficaram felizes com a mudança de nome por algum motivo e mudaram para Apache Shiro Logo depois disso. Também Rígido é apenas um invólucro de plug -in do Grails para Segurança da primavera E ACEGI é a origem do projeto de segurança da primavera.

Então, qual usa?

Primeiramente, A segurança da primavera é uma API de segurança amadurecida e já amplamente usada, por estabilidade, suporte e especialmente ponto de vista de segurança, é uma boa escolha. Infelizmente, Shiro perde um pouco disso, pois até onde eu sei, ainda está faltando em ampla adoção.

Segundo, como a estrutura de segurança realmente se comporta é muito importante, é necessário permitir que você faça seu esquema favorito de proteger seu aplicativo. Por exemplo, enquanto algumas pessoas gostam da maneira como Shiro funciona (Veja este tutorial, esp. A peça em manchete "Quickstart.java") Outros não poderiam viver sem as coisas do estilo da primavera da primavera e assim por diante. Basicamente, você precisa experimentar os dois e descobrir se eles atendem às suas necessidades do ponto de vista da usabilidade.

Em terceiro lugar, certifique -se da segurança real! A segurança da primavera pode ser segura, Shiro é provavelmente seguro porque nenhuma adoção generalizada oculta questões de segurança facilmente, veja, por exemplo, Vulnerabilidades do Firefox Para ver como o aumento da base de usuários começa a afetar a segurança real do aplicativo a longo prazo.

Para terminar isso, se eu tivesse que escolher para você, escolheria a segurança da primavera porque é amplamente utilizada, é compensado ser seguro e já integrado aos Grails. O JSecurity/Ki/Shiro não é ruim e eu o usei por um tempo, mas no momento está em algum tipo de estado do limbo para quem sabe que razão e para uma estrutura de segurança que é inaceitável.

Editar: Faz mais de 1 ano e meio desde que respondi isso, então senti a necessidade de voltar e dizer que nossa empresa decidiu recentemente ir com a segurança da primavera devido à sua alta capacidade e sua funcionalidade comprovada. É claro que isso me deixa um pouco tendencioso, mas, de qualquer forma, eu diria que a segurança da primavera é o caminho a percorrer.

Outras dicas

A resposta de Esko é ótima e assada. Fiz uma avaliação das diferentes estruturas há um mês e escolhi Shiro como a estrutura de segurança subjacente, apesar de ter experiência anterior com a Spring Security. Eu precisava de uma solução com capacidade de criar requisitos complexos de autorização. O modelo de JSecurity é muito simples, mas muito poderoso.

O que finalmente me convenceu, no entanto, é Ágil O plug -in, que é uma camada de interface do usuário em cima do Shiro. Ele permite gerenciar usuários, funções, grupos, criação de contas de autoatendimento, email, etc ... e é fácil de integrar ao seu aplicativo. Não ter que escrever todo esse código foi uma grande vitória para mim. Também permite integração com o OpenID, o Facebook e outros.

Se Nimble trabalhasse para a SpringSecurity, eu provavelmente o teria escolhido, mas vi isso como uma grande vitória para mim.

Eu usei as duas estruturas e adoro a maneira como Shiro trabalha em comparação com a abordagem da primavera. Não sei por que a segurança da primavera é tão popular. Ao contrário de Shiro, a Spring Security é solta durante todo o aplicativo sempre que for necessária a configuração. A segurança não é uma preocupação cruzada para a maioria dos aplicativos? Nesse caso, não seria "código mais limpo" isolá -lo em um único local? Meus dois centavos.

Obrigado rapazes por suas respostas. Na verdade, tentei a segurança da primavera em um aplicativo de graals. O plug -in Grails facilita o uso.

Saudações.

Josh

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