java security authentication frameworks login

java - Aplicación web-Autenticación/Marco de inicio de sesión



apache shiro jar (2)

Esta es una pregunta muy simple, probablemente la más solicitada y desarrollada con frecuencia como parte de cualquier aplicación web. Supongamos que estoy planeando crear una aplicación web y algunos de los requisitos funcionales incluyen (aparte de los habituales requisitos de seguridad habituales), - Necesito que los usuarios se registren para un nuevo perfil de la cuenta - Autenticar usuario mediante la autenticación de la aplicación nativa / Facebook o Google o Yahoo o el inicio de sesión de OpenId - Permitir la recuperación de contraseña perdida - Necesidades de manejo de sesión

¿Existe un marco de referencia (Drupal, Liferay, Tapestry with Tynamo, Wicket?) Que pueda usar para ajustar mi aplicación, que puede ser un montón de JSP o HTML con JS. Sé que estoy haciendo una pregunta muy simple y quizás ingenua. Pero este es un tema al que irá a cargo cada gurú desarrollador web. Cualquier ayuda, consejo y consejos muy apreciados.


Miraba a Apache Shiro o Spring Security.


Recomiendo echar un vistazo a Apache Shiro: http://shiro.apache.org/

Maneja la parte de seguridad de su aplicación y le ofrece una gran flexibilidad en la forma de asegurar las cosas. Por ejemplo, puede agregar una anotación para proteger métodos individuales (por ejemplo: no puede ejecutar este método a menos que sea un administrador), páginas individuales (por ejemplo: no puede cargar esta página a menos que sea un administrador), y patrones de URL (debe ser administrador para acceder a cualquier elemento que contenga / admin / * en la url).

Explique qué tan complejo puede ser para la seguridad, Shiro es muy fácil de usar. Puede tomar un poco de tiempo entender algunos de los conceptos inicialmente, pero Shiro hace un muy buen trabajo al ocultar la mayor complejidad posible. Además, la lista de usuarios es muy receptiva y extremadamente útil.

Si utilizas Tapestry, puedes consultar http://tynamo.org/tapestry-security+guide Hace que Shiro funcione y se ejecute fácilmente en una aplicación Tapestry y te da algunas etiquetas fáciles de usar para usar en tus plantillas. .

Shiro no le dará una integración con OpenID, OAuth o Facebook, pero es muy probable que necesite personalizar esa parte para su aplicación. Creo que se está trabajando para ayudar a integrar las funciones que ayudarán a habilitar estos tipos de autenticación en el marco.

Algunos de los marcos que se basan en Shiro pueden ofrecer más de lo que está buscando. Por ejemplo, http://tynamo.org/tynamo-federatedaccounts+guide le dará más soporte para los inicios de sesión federados en una aplicación de tapices. Todavía está en las primeras etapas, pero podría estar funcionando si está usando Tapestry. Incluso si no hace exactamente lo que necesita, podría proporcionar algunos buenos ejemplos para mirar.

También podría estar interesado en: http://static.springsource.org/spring-security/site/

Como nota al margen: además de la seguridad, probablemente haya muchas otras tecnologías que necesitará en un proyecto web típico. Es posible que necesite seguridad, persistencia, administración básica de usuarios, etc. Si crea muchas aplicaciones web, podría valer la pena crear un arquetipo maven que le permita obtener rápidamente una nueva aplicación básica para que pueda comenzar a codificar con toda la estructura inicial ya está en su lugar. AppFuse intenta hacer esto, pero apunta más a permitirte muchas opciones diferentes cuando se trata de marcos web. Si sabe qué tecnología va a utilizar, tener una aplicación de inicio personalizada para sus necesidades puede representar un gran ahorro de tiempo.