Soy un novato en el desarrollo web basado en Spring.¿Cómo desarrollar el sitio https con Spring 3.x?
Nuestro sitio está basado en Spring y actualmente está basado en http (por lo que es bastante inseguro). Dado que el sitio aún no está activo, estamos enviando inicio de sesión/contraseña también a través de una solicitud JSON normal al servidor y nos hemos centrado principalmente en JSP, diseño de interfaz de usuario, consultas SQL, etc.
Ahora, queremos cambiar al enfoque en seguridad y cambiar a https como primer paso.
He leído un no. de páginas web y algunos libros de primavera, pero ninguno parece proporcionar una respuesta clara sobre cómo se puede utilizar Spring para proporcionar seguridad https. ¿Puede alguien ayudarme a lograr lo anterior?
Háganme saber si mi pregunta no es clara. Trataré de agregar más detalles CUANTO ANTES.
Nuestra web.xml es el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
"
id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<!--> Mapping for serving static web-content <-->
<!--> The resources folder must be in parallel to WEB-INF <-->
<!--> The mvc:resources gives "not bound" exception unless bound to a namespace as above for xmlns:mvc <-->
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/scripts/**" location="/scripts/" />
</web-app>
Sólo hay un controlador en este momento para el cual, primavera-servlet.xml es el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan
base-package="console.controllerpkg" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
Muchas gracias de antemano !
P.S. Si me puede recomendar un buen sitio/libro basado en ejemplos en la primavera, sería muy apreciado. La mayoría de los sitios/libros que he visto ponen mucho énfasis en la teoría, pero muy pocos ejemplos. Eso me ha dejado un poco confundido.
Gracias por los enlaces nont. Los revisaré mañana desde que sea tarde para mí. Solo para volver a confirmar lo que se ha respondido hasta ahora, he entendido que: 1) Spring no tiene nada que ver con SSL. 2) SSL debe habilitarse en Tomcat. Confirme estos dos puntos. Muchas gracias de nuevo por sus respuestas chicos. Hubiera continuado excavando la primavera si ustedes no me hubieran ayudado. –
Correcto, el resorte no maneja directamente HTTP o HTTPS. Se implementa en un contenedor como tomcat o jboss, y ese contenedor es el que trata con SSL o HTTP normal. Esas solicitudes se pasan a Spring para que las maneje. Entonces, sí, si desea habilitar SSL, debe hacerlo en su tomcat. Por cierto, favor de votar y/o marque esta respuesta como correcta si fue útil. ¡Esa es una gran razón por la cual a las personas les gusta responder preguntas aquí! – nont
El enlace en la respuesta es para Tomcat 5.5, este es el enlace para Tomcat 7: http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html – maxivis