2009-02-12 22 views
11

La seguridad siempre tiende a ocupar el último lugar en un proyecto nuevo. O utiliza un marco como Spring donde la seguridad ya está incorporada y se puede encender fácilmente. Intento encontrar un marco de seguridad abierto que se pueda conectar a las aplicaciones Swing y Web (y JavaFX?), Tal vez sea fácil de digerir. Miré JAAS, JGuard y JSecurity, pero es demasiado complicado para empezar. ¿Alguna recomendación o experiencia para compartir? Estoy trabajando con NB, Glassfish y MySQL. Gracias SvenJava Security Framework

+0

Se cambió la etiqueta de jee5 a javaee, ¡porque no debe limitarse a la última versión! –

Respuesta

5

Recomiendo totalmente aprender JAAS. Realmente no es tan difícil de recoger, y hay algunos tutorials útiles y reference guide en el sitio web de Sun.

En mi experiencia, JAAS es bastante utilizado, por lo que es definitivamente algo que podrá volver a utilizar una vez que lo haya aprendido. ¡También es uno de los componentes básicos del mecanismo de autenticación Glassfish!

5

He realizado una investigación similar en JAAS para aplicaciones web y me encontré con un "obstáculo mental" hasta que finalmente me di cuenta de que JAAS es un framework que aborda la seguridad en una "capa" diferente a las aplicaciones web tradicionales en Java World. Es estructura para abordar problemas de seguridad en J2SE no J2EE.

JAAS es una construcción de marco de seguridad para asegurar cosas en un nivel mucho más bajo que la aplicación web. Algunos ejemplos de estas cosas son el código y los recursos disponibles en el nivel de JVM, por lo tanto, toda esta capacidad para establecer archivos de políticas en el nivel de JVM.

Sin embargo, como J2EE se basa en J2SE, algunos módulos de JAAS se reutilizaron en la seguridad J2EE, como los módulos de inicio de sesión y las devoluciones de llamada.

Por otro lado, Acegi, también conocido como Spring Security, aborda una "capa" mucho más alta en el problema de la aplicación web de seguridad. Se basa en la seguridad J2EE, por lo tanto, J2SE, por lo tanto, JAAS. A menos que esté buscando recursos seguros en el nivel J2SE (clases, recursos del sistema), no veo ningún uso real de JAAS que no sea el uso de la clase común y las interfaces. Solo concéntrese en usar Acegi o la vieja y simple seguridad J2EE que resuelve muchos problemas comunes de seguridad de las aplicaciones web.

Al final del día, es importante saber qué "capa" del problema de seguridad J2EE-J2SE está abordando y elegir la (s) herramienta (s) de escritura para el problema.

+0

Después de algún tiempo buscando en las opciones, creo JSecurity (ahora llamada Ki (http://incubator.apache.org/ki/) es una buena opción. Todavía en fase de desarrollo, pero lo que he probado hasta ahora, parece prometedor. – javadude

+2

ki ahora se llama shiro, solo una nota para outcomers –

8

simplemente he tomado una vista de este http://shiro.apache.org/

Apache Shiro es un potente y marco de seguridad de Java fácil de usar que realiza la autenticación, autorización , la criptografía, y gestión de sesiones. Con la API de fácil comprensión de Shiro, puede segura y fácilmente asegurar cualquier aplicación , desde las aplicaciones móviles más pequeñas hasta las aplicaciones empresariales más grandes de la web y .

0

apache shiro falla miserablemente cuando se destaca una aplicación web bajo JBoss (digamos 2 millones de solicitudes de un simple GET con una concurrencia de 50 hilos). fue muy decepcionante descubrir esto. sucede cuando usa filtros.

+5

Esto no tiene fundamento sin más evidencia. He usado Shiro en aplicaciones web de misión crítica que manejan cientos de miles de solicitudes por segundo. Hay proyectos de red que usan Shiro para asegurar puntos finales de red que maneja cientos de millones de solicitudes diariamente. Sospecho que su arquitectura interna o los almacenes de datos que se encontraban detrás de Shiro estaban causando un problema. Le puedo asegurar por experiencia que Shiro puede escalar extremadamente bien. –

2

le recomiendo que eche un vistazo a OACC (http://oaccframework.org). OACC fue diseñado para resolver el problema de la seguridad de las aplicaciones. A diferencia de la mayoría de los marcos, OACC puede almacenar/administrar las relaciones de autorización en su aplicación. El modelo de autorización de OACC es más poderoso que Shiro o Spring Security.