2012-03-13 28 views
6

Tengo una aplicación web en la que cuando conexión de los usuarios que llegan a la página mainjsp.jsp.¿Cómo puedo proteger mi aplicación web java?

En esta página pocos son los cuadro de texto para conocer las fechas y en base a las fechas y la selección de otro desplegable, se presentó datos. Estos datos se recuperan mediante un servlet y se devuelven a la página mainjsp.

Mi preocupación es la seguridad. Ahora cuando copie, pegue la URL de la página mainjsp.jsp y péguela en cualquier navegador, esta página aparece tal como está. No quiero que esto suceda. Quiero que los usuarios inicien sesión primero y, por lo tanto, quiero que mi aplicación web sea segura.

no tengo ni idea de cómo hacer esto. ¿Podría decirme cómo puedo lograr esto?

También por favor dígame cómo puedo lograr esto para cualquiera de las páginas de la aplicación web. Los usuarios no deberían poder acceder a ninguna página si no han iniciado sesión.

+0

utilizan algún marco de autorización y autenticación de seguridad como la primavera, etc. JASS –

+0

i cant hacer algo aquí con JSP y servlets? Que no he trabajado en primavera o jass ... o cud u proporcionarme algún detalle para buscar en los resortes para implementar esto? –

+0

Lo que se ha descrito en la respuesta proporcionará un nivel básico de seguridad, pero usted quiere un modelo de seguridad basado en roles La seguridad de primavera y JASS son el camino a seguir. Un buen punto de partida es el documento oficial. http://static.springsource.org/spring-security/site/ –

Respuesta

4

Debe tener Autenticación basada en el formulario. Aquí es el fragmento que debe ser añadido a su Web.xml

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>pagesWitUnrestrictedAccess</web-resource-name> 
     <description>No Description</description> 
     <url-pattern>*.jsp</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
     <description>No Description</description> 
     <transport-guarantee>NONE</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 


<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/loginerror.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

Algunas Referencias:

2

Es posible comprobar Shiro usar marco de seguridad fuera de la caja y evitar que la seguridad avanzada en el complicado entorno web.

0

Use sesiones. Establezca una variable de sesión en un inicio de sesión y verifique que en cada página debe asegurarse.

0

Cuando el usuario ingresa las credenciales y lo envía a un servlet de inicio de sesión, agregue el nombre de usuario o la identificación de usuario en sesión. Compruebe el atributo de la sesión en el encabezado de la aplicación (por lo que en cada página) que es el nombre de usuario o el ID de usuario que existe en la sesión? Si es así, redirija el mensaje a la página solicitada; de lo contrario, redirija al usuario a login.jsp. por ejemplo:

String var= null; 
try { 
    var= (String) session.getAttribute("user_name_session"); 
    if (var== null) { 
     response.sendRedirect("/Login.jsp"); 
     return; 
    } 
} 
catch (Exception e) { 
    System.out.println(e); 
} 

Puede modificar el fragmento según sus necesidades, esta es la manera más simple para la prevención de usuario para ir en cualquier página a través de copiar el enlace en otro navegador.

Cuestiones relacionadas