apache-tomcat realm jdbc y sql server 2008

11
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

Upload: juan-basilio

Post on 21-Mar-2016

235 views

Category:

Documents


3 download

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

Page 1: Apache-Tomcat Realm JDBC y SQL Server 2008

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

Page 2: Apache-Tomcat Realm JDBC y SQL Server 2008

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

Page 3: Apache-Tomcat Realm JDBC y SQL Server 2008

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

Page 4: Apache-Tomcat Realm JDBC y SQL Server 2008

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

Page 5: 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

Page 6: Apache-Tomcat Realm JDBC y SQL Server 2008

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

Page 7: 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

Page 8: Apache-Tomcat Realm JDBC y SQL Server 2008

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

Page 9: 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

Page 10: Apache-Tomcat Realm JDBC y SQL Server 2008

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.

Page 11: Apache-Tomcat Realm JDBC y SQL Server 2008

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.