2012-04-26 23 views
10

¿Qué ventajas hay yendo a Apache Shiro, y dejando Java EE's API nativas para la seguridad y la gestión de sesión?Apache Shiro vs API nativas Java EE

Descubrí que todos los roles de seguridad y las sesiones se pueden realizar en Apache Shiro, pero también se puede hacer lo mismo con la seguridad de Java EE sin tarros de dependencia externos.

Así que sugiero un par de pros y contras de ir a Apache Shiro.

+0

Por favor puede alguien ayudar no soy capaz de juzgar ....... – satheesh

Respuesta

15

soy parcial, por supuesto, (soy un confirmador en el proyecto Apache Shiro), a fin de tomar esto como mejor le parezca, pero aquí son mis opiniones:

  • Java EE de seguridad no admite contenedores -funciones de agrupamiento de sesiones independientes desde el primer momento (Shiro lo hace).

  • Shiro fue diseñado desde su inicio para funcionar en POJO/Dependency Injection environments. Utiliza un diseño basado en interfaz y proporciona muchos más ganchos para la personalización que los entornos de seguridad Java EE tradicionales (por ejemplo, ¿cómo se muestra cuántos usuarios están actualmente conectados a su sitio con seguridad Java EE? Shiro puede ayudarlo a mostrar esto).

  • Shiro es totalmente portátil en cualquier entorno de aplicación. Si utiliza personalizaciones de seguridad específicas del proveedor de Java EE, esas no serían portátiles (por ejemplo, StackOverflow question muestra que cambiar a JBoss podría resolver el problema de seguridad del usuario, una respuesta inquietante de la OMI).

  • En la misma línea que las personalizaciones específicas del servidor, muchos de seguridad de Java EE tutorials, articles y blog articles que muestran la configuración basada en la interfaz de usuario, que se ocupa de las cosas de diferentes maneras a través de plataformas y puede ser frustrante para volver a aprender si cambiar. Además, la configuración de Java EE a menudo requiere XML. Prefiero un formato de configuración de texto único, no detallado que pueda usar en cualquier lugar (shiro.ini es agradable, pero las personas también configuran shiro con groovy, yaml, etc.).

  • Shiro fue diseñado para funcionar en cualquier entorno de aplicación. La seguridad de Java EE fue diseñada, bueno, solo para Java EE. Al menos cuando conoces a Shiro, puedes aprovechar ese conocimiento en cualquier aplicación basada en JVM (Spring, Guice, Java EE, línea de comandos, etc.), no solo en aplicaciones Java EE.

HTH!

Les

+0

Gracias por su explicación en Apache shiro.Can i conseguir un poco más de explicación sobre el uso de shiro en entornos de inyección POJO – satheesh

+2

> "Esta pregunta de StackOverflow muestra que cambiar a JBoss podría resolver el problema de seguridad del usuario, una respuesta inquietante de la OMI". Di esa respuesta y acepto que es inquietante. Creé el número http://java.net/jira/browse/JAVAEE_SPEC-20 para solicitar la estandarización sobre este aspecto específico de la configuración de seguridad. –