lo uso JSF costura y se han utilizado de costura integrado en la autenticación y autorización y les resulta muy fácil de usar.
Para la autenticación, sólo tiene que poner en práctica el método 1, public boolean login(String username, a String password) { ... }
y vuelve booleano. Luego puede marcar las páginas como "requerido para iniciar sesión" y la costura se ocupa del resto.
Para la autorización, Seam te da una anotación @Restrict
que puedes poner en tu Controlador o en los métodos de servicio y, una vez más, Seam se ocupa del resto.
autorización avanzada: También puede manejar más advanced authorization with Seam donde los roles son dinámicos - por ejemplo, en un tablero de anuncios, usted es el "autor" de algunas publicaciones, pero "lector" u otras publicaciones, simplemente delegando su anotación @Restricto en un método Java.
Te animo a que veas Seam. Seam es solo una capa encima de JSF, por lo que técnicamente seguirías ejecutándote en JSF. Si por alguna razón no puede usar Seam, tal vez pueda tomar prestadas algunas ideas de cómo Seam maneja la Autorización y la Autenticación en JSF.
¿Puede hacernos saber lo que era su selección? –
Relacionados: http://stackoverflow.com/questions/2206911/best-way-for-user-authentication-on-javaee-6-using-jsf-2-0/2207147#2207147 y http://stackoverflow.com/questions/6189536/programmatically-control-login-with-servlet-3-0/6189810 # 6189810 – BalusC