JAAS x ACEGI(Spring Security)

Estou realizando um estudo aprofundado entre as duas tecnologias para a construção da camada de segurança de minhas aplicações, e sabemos que quanto mais informações e análises, poderemos chegar a um ponto em comum ou no mínimo a um ponto de vista.

O que vocês utilizariam em uma aplicação com Hibernate + Spring + JSF(MyFaces, Tomahawk), JAAS ou ACEGI(Spring Security)???

Eu estudei bastante sobre o JAAS e já fiz alguns exemplos, porém ainda não iniciei minhas análises em relação ao Spring Security. Sempre escutei boas coisas dele, ainda mais agora que é um projeto da própria Spring.

Alguém somaria algo ao tópico?

Atenciosamente,

Estou usando o Spring Security ha algum tempo, e estou bem satisfeito. Ele demanda um certo estudo, e inclusive tive q personalizar um AuthenticationProvider para atender uma demanda especifica de minha aplicacao. No meu caso nao consegui aproveitar a configuracao via namespaces, entao varias fadas foram mortas(1) na configuracao manual dos beans na app q estou trabalhando… Porem, como sempre, a configuracao detalhada sempre serah a q melhor se adapta aos casos mais complexos…

Se vc estah usando Spring como plataforma, nao ha razao para utilizar Spring Security + JAAS, a nao ser q seu ambiente exija isso, ou seja, se jah ha um servidor de aplicacao provendo autenticacao e/ou autorizacao.

Bom, sua escolha entao deve levar em conta:

  • Seu projeto eh orientado ao Spring sem necessidade de JAAS? Use o Spring Security sem JAAS! Eh a melhor das opcoes! Vc terah portabilidade entre containers!
  • Ou entao vc jah possui um ambiente servidor com JAAS, isso? Nesse caso vc pode plugar o Spring Security ao JAAS utilizando o adaptador(jar adicional incluso na distribuicao) para praticamente cada app. server de mercado, basta vc referenciar o jar apropriado. Nesse caso, o provedor de segurança eh o container, porem a API a ser configurada e utilizada continua sendo o Spring Security.

Conseguimos rodar Spring Security sem problema no Jetty stand-alone(desenvolvimento) e JBoss 4.2.x(producao), usando a primeira opcao acima.

(1) http://blog.springsource.com/2008/04/17/spring-security-20-final-release-no-more-dead-fairies/

A intenção é utilizar ou um ou o outro…
Quero escolher um…

Provavelmente devo escolher o ACEGI, entretanto estou levantando a discurssão para entendermos melhor as vantagens e desvantagens de ambos…

Estou dando uma boa estudada aqui no site que você disponibilizou…

Se alguém tiver mais algo pra acrescentar, vamos lá…