apache-tomcat realm jdbc y sql server 2008
DESCRIPTION
En muchas ocasiones nos encontramos con la necesidad de conectar dos servidores en distintas plataformas. En mi último proyecto de desarrollo de aplicaciones web me vi en la necesidad de conectar un servidor Linux con un Windows Server 2008, después de muchos intentos, pude con éxito, poder conectarlos. He aquí un pequeño manual resumido sobre los pasos a seguir para poder realizar la conexión satisfactoriamente.TRANSCRIPT
Requisitos iniciales
En el ambiente de pruebas (Windows7)
Apache-Tomcat Realm JDBC y SQL Server 2008
JDK. Una vez desplegada mi
aplicación en el Servidor, pro-
bare desde mi computadora
Windows 7 linkeando al Servi-
dor Linux. Esta segunda parte
la realizare en otra publica-
ción, por ahora solo mostrare
como conectarme desde mi
Windows 7 con Apache
Tomcat a SQL Server 2008.
Asumimos que se tiene un
servidor Linux con la distribu-
ción Centos 6, un servidor
Windows Server 2008 con SQL
Server y una estación de traba-
jo con Windows 7 y NetBeans.
En la actualidad (Mayo 2013)
nos encontramos en la versión
7 de Apache Tomcat, pero
para poder realizar la cone-
xión con un servidor Windows
lo verifique con la versión de
Apache Tomcat 6. Por lo tanto
vamos a realizar la instalación
del servidor Apache Tomcat 6,
pero Ud. Puede instalar la ver-
sión 7 siguiendo los mismo
pasos.
Lo primero que realizaremos
será bajar el Apache Tomcat 6
para Windows con la finalidad
de recrear un ambiente de
prueba en la computadora con
Windows 7, desde ahí proba-
remos conectarnos al servidor
Windows 2008 con SQL Server.
Esta demás decir que la
computadora con Windows 7
tiene instalado el JDK de java.
Entonces, en mi entorno de
pruebas tengo un Windows 7
con Apache Tomcat 6, JDK y el
NetBeans. Bajo este esquema
solo tendría que preocuparme
por conectarme al servidor
Windows 2008 Server. Una vez
finalizada mi aplicación voy a
subir mi proyecto (JAR) al
servidor Linux el cual también
tendrá Apache Tomcat 6 y el
El primer paso es bajar el ser-
vidor Apache Tomcat 6 a la
computadora con Windows 7,
una vez descargado ubicarlo
en la raíz C:\ y luego ir al IDE
del NetBeans para agregar el
servidor Apache Tomcat .
Como se ve en la figura, cuan-
do descarguen el servidor
Apache Tomcat 6 deberá tener
la siguiente estructura, me ha
pasado que por error descar-
gue otro cosa y no obtuve los
resultados deseas.
Contenido:
Requisitos iniciales 1
Agregar el Servidor Apache Tomcat 6 al NetBeans.
2
Primera aplicación con Seguridad Integrada
4
Server.XML y REALM de APA-CHE TOMCAT
8
Inicio de sesión mediante formu-larios
10
Puntos de interés especial:
Contar con un Servidor Windows 2008 y
SQL Server
Contar con un Servidor Linux, distribu-
ción Centos 6
Tener una computadora para realizar
pruebas con Windows 7 Profesional.
Nombre del trabajo
27/05/2013
Volumen 1, nº 12
Trabajando la Seguridad de Acceso (REALM JDBC)
Un asunto muy importante es el manejo de
seguridad en las aplicaciones WEB. En
esta ocasión vamos a trabajar la seguridad
de aplicaciones bajo el esquema de domi-
nios o reinos que propone Apache Tomcat,
pero vamos a adicionar la variante de se-
guridad por medio de base de datos, es
decir vamos a tener una tabla de usuarios
en una base de datos que Apache Tomcat
utilizara para validar la existencia de usua-
rios y autenticar sus contraseñas.
Empezamos des-
de SQL Server , vamos a crear una base de
datos, la voy a llamar DBSEGURIDAD y en
ella creare las siguientes tablas:
seg_perfil .– Almacenara los perfiles de los
usuarios (Admin, User)
seg_usuario.– Almacenara los usuarios y
contraseñas.
seg_usuario_perfil.– Asociará a los usua-
rios con sus perfiles.
Agregar el Servidor Apache Tomcat 6 al NetBeans.
Página 2 Apache-Tomcat Realm JDBC y SQL Server 2008
Si es la primera ver que vas a realizar esta
actividad te va a resultar muy fácil, pero si
ya tienes varios intentos fallidos de querer
agregar un servidor Apache, déjame de-
cirte que te va resultar muy complicado,
debido a que cuando agregues un servidor
de servicios de internet como Apache o
GlassFish u otros, siempre te pedirá un
puesto para el protocolo HTTP y una vez
establecido el puerto ya no puede ser utili-
zado por otro servidor de internet. Esto
quiere decir, que deberás tener mucho
cuidado cuando le indiques que puerto
deseas establecer para el protocolo HTTP
por que una ve establecido otro servidor
Click derecho para agregar el nuevo
Servidor Apache Tomcat 6.
El asistente de NetBeans le pedirá la ubicación de
los archivos del servidor Apache Tomcat 6, tal como
se ve en la imagen a la izquierda, luego deberá in-
gresar el usuario y password para poder acceder al
menú de configuración del servidor Apache Tomcat.
Por favor, no olvide el password ni el nombre de
Configurar Apache Tomcat con REALM JDBC y SQL SERVER
Una vez creada la base de datos se crearan las siguientes estructu-
Lo primero que debemos hacer es bajar
los controladores (JDBC) de la pagina web
de Microsoft( http://www.microsoft.com/
download/en/details.aspx?id=2505 )
Una vez descargados debemos buscar el
archivo “sqljdbc4.jar“ y renombrarlo a
“sqljdbc.jar” para copiarlo en la carpeta
“lib” de nuestro servidor Apache Tomcat
instalado en C:\.
Después de copiar el archivo, debemos
realizar algunos cambios en los archivos
de configuración XML ubicada en la carpe-
ta “conf” de nuestro servidor Apache
Tomcat instalado en C:\.
Estructura de tablas en SQL para la seguridad.
Página 3 Volumen 1, nº 12
Buscamos en el
archivo Ser-
ver.XML <Realm
Classname…..
Como se puede apreciar la sentencia anterior se coloca como comentario y la nueva agregamos el driver de SQL
Server, la ruta del servidor y la Base de Datos, el usuario y contraseña y por ultimo especificamos la tabla de usua-
rios y la tabla de roles.
Cambiamos la
sentencia
<Realm> a la si-
guiente Figura.
Página 4 Apache-Tomcat Realm JDBC y SQL Server 2008
Creamos una apli-
cación en JAVA
con NetBeans.
Primera aplicación con Seguridad Integrada
Seleccionamos la
versión 5 de JAVA
Página 5 Volumen 1, nº 12
Después de creado el
nuevo proyecto, nos
ubicamos en el archi-
vo web.xml.
Vamos a modificar el
archivo web.xml para
que se conecte con el
dominio que hemos
modificado en el Ser-
vidor Tomcat.
Página 6 Apache-Tomcat Realm JDBC y SQL Server 2008
Descargar de
la página web
de Microsoft
los controla-
dores para
JDBC.
Este empaquetado trae dos JAR sqljdbc.jar y
sqljdbc4.jar , este ultimo permite la conexión con
SQL Server 2008, así que : Primero: borramos el
sqljdbc.jar. Segundo: renombramos el sqljdbc4.jar
a sqljdbc.jar (le quitamos el numero 4)
Este archivo JAR lo
copiamos en la ruta
donde tenemos insta-
lado el Apache
Tomcat en el directo-
rio “lib”
Reemplazar el jar por una nueva versión.
Artificio: Cambiar de JAR por uno mas reciente.
Página 7 Volumen 1, nº 12
En la ruta donde tenemos instalado el servidor Apa-
che Tomcat , buscamos en la carpeta conf el archivo
server.xml y le damos editar.
Server.XML y REALM de APACHE TOMCAT
Ingeniero de Sistemas Titulado, egresado de la
UPC con certificación en ITIL Foundation y certifi-
cado en PMP .
Docente a tiempo parcial en el Instituto Superior
Tecnológico SISE.
Jefe de Sistemas en un Laboratorio Agro-Químico.
Asesor y Consultor en empresas de servicios e In-
vestigación de mercados.
Miembro activo del capitulo PMI-Lima.
Ing. Juan Basilio
PMP, ITIL
Dirección del trabajo principal
Línea 2 de dirección
Correo: [email protected]
Apache-Tomcat Realm JDBC y SQL Server 2008
La mejor forma de aprender a
programar es probando tu mismo.
SOFNET EiRL
Agrégame en tu Linkedin
http://www.linkedin.com/in/juanbasilio
Página 8 Apache-Tomcat Realm JDBC y SQL Server 2008
Aquí estamos indicando que la
autenticación será la básica
(aparecerá una ventana del siste-
ma solicitando el usuario y contra-
seña) en la sección security Cons-
traints especificamos que “/*” to-
dos los archivos de nuestra aplica-
ción web están protegidos y solo
los usuarios que tengan el rol de
“user” podrán acceder a él.
Iniciamos el servidor
Apache Tomcat
Si nos aparece esta ventana al iniciar nuestra aplicación es
por que el Servidor Tomcat se esta iniciando por primera vez
y necesita confirmar que es el usuario Administrador que
creamos en la tabla de usuarios del SQL Server.
Usuario : “Administrador”
Passwor: “adm123”
Página 9 Volumen 1, nº 12
Inicio de sesión mediante formularios
Creamos los siguientes ar-
chivos HTML
Página 10 Apache-Tomcat Realm JDBC y SQL Server 2008
Ingresamos un dato erróneo y obte-
nemos el siguiente resultado
Si ingresamos un usuario valido ob-
tenemos el siguiente resultado.
Página 11 Volumen 1, nº 1
Reiniciamos el servidor Apache Tomcat y ejecutamos el Proyecto, a veces falla a la primera solo hay
que volver a insistir para que aparezca el login.